25
Советский суперкомпьютер К-340А и секретные вычисления Кренделев Сергей Федорович Новосибирский государственный университет Parallels Работа выполнена при финансовой поддержке Минобрнауки РФ (договор № 02.G25.31.0054)

Советский суперкомпьютер К-340А и секретные вычисления

Embed Size (px)

Citation preview

Page 1: Советский суперкомпьютер К-340А и секретные вычисления

Советский суперкомпьютер К-340А и секретные

вычисления

Кренделев Сергей Федорович Новосибирский государственный университет

Parallels

Работа выполнена при финансовой поддержке Минобрнауки РФ (договор № 02.G25.31.0054)

Page 2: Советский суперкомпьютер К-340А и секретные вычисления

• Под секретными вычислениями подразумевается обработка зашифрованных данных без их дешифрования

• области применения таковы:• Обработка персональных данных в облачных сервисах

в зашифрованном виде• Мощные методы обфускации на программном и

аппаратном уровне. Защита от Side Channel атак• Защищенные базы данных в облаках, и на рабочем

месте.

Page 3: Советский суперкомпьютер К-340А и секретные вычисления

• В обработке данных участвуют две стандартные структуры

1. Отношение порядка, применяется для поиска и сравнений. Шифрование для этой структуры называется Шифрованием сохраняющим порядок. (Order Preserving Encryption – OPE) 2. Арифметические структуры. Сложение умножение. Шифрование для этих структур называется Гомоморфным Шифрованием ( Homomorphic Encryption).

Page 4: Советский суперкомпьютер К-340А и секретные вычисления

С точки зрения математики в криптографии ничего нового нет. Все конструкции давно известны. Новым является только метод реализации. Очень жаль, что Эйлер, Ферма, Гаусс …. неимели компьютеров, сейчас про числа мы бы знали гораздо больше.Например: если говорить про шифрование сохраняющее порядок, то это на самом деле речь идет о представлении монотонных функций.

Page 5: Советский суперкомпьютер К-340А и секретные вычисления

В докладе будем говорить, только о гомоморфном шифровании. Вот математическое определение.

Под гомоморфным шифрованием понимается любое отображение : , где , кольца произвольного вида, такое что (x+y) (x)+ (y)

(x y) (x) (y) , если уравнение (x) λ имеет решение, то это решение единственно. Считается, что - открытый ключ. Как решать уравнение (x) λ это секретный ключ.

Page 6: Советский суперкомпьютер К-340А и секретные вычисления

• Литература на эту тему фактически является отчетами по грантам для DARPA ( Defense Advanced Research Projects Agency — агентство передовых оборонных исследовательских проектов министерства обороны США),

• IARPA ( Intelligence Advanced Research Projects Activity — Агентство по перспективным исследованиям разведывательного ведомства, национальная разведка США)

• Отчеты в компаниях IBM, Microsoft.

Page 7: Советский суперкомпьютер К-340А и секретные вычисления

В этих работах рассматривается вариант гомоморфного шифрования, где 2Z . Другими словами 2:Z . Наличие гомоморфизма позволяет секретно вычислять любые многочлены от любого числа переменных. Это означает, что можно имитировать (эмулировать) стандартный процессор с двоичным представлением данных и операциями, связанными с двоичной логикой. Это возможно, учитывая, что стандартные операции в поле 2Z можно преобразовать в логические операции or, and (на самом деле достаточно nand).

Page 8: Советский суперкомпьютер К-340А и секретные вычисления

Печальный факт заключается в том, что вариант с гомоморфным шифрованием 2:Z очень далек от практической реализации. Проблема в росте зашифрованных данных, особенно при умножении. В случае реализации логических схем умножение присутствует всегда

Page 9: Советский суперкомпьютер К-340А и секретные вычисления

• Необходимы другие подходы, как к гомоморфному шифрованию, так и к компьютерным системам которые собираемся эмулировать.

• Существует вариант компьютеров основанных на системе остаточных классов (СОК) или в современных терминах на основе модулярной арифметике. Такие компьютеры разрабатывались в 50-70 годы прошлого столетия для создания РЛС. К ним относится суперкомпьютер К-340А, а также СуперЭВМ 5Э53, ЭВМ “Алмаз” и т.п. Все они основаны на модулярной арифметике. Особенностью данных компьютеров является очень высокий параллелизм, что позволяет делать вычисления в реальном времени.

Page 10: Советский суперкомпьютер К-340А и секретные вычисления

Недостатки – проверка выхода за диапазон данных, сравнение больше, меньше. С точки зрения разработчиков этих систем – “модулярная и двоичная арифметика несовместимы”. Цель работы построить систему полностью гомоморфного шифрования, которая бы имитировала (эмулировала) этот класс вычислительных устройств.

Page 11: Советский суперкомпьютер К-340А и секретные вычисления

Общие методы построения гомоморфного шифрования.

Стандартный метод построения гомоморфизмов колец проистекает из стандартной алгебраической геометрии. Пусть R произвольное кольцо, D произвольное множество. Рассмотрим множество функций определенных на множестве D со значениями в R , обозначим это множество (D,R) .

Множество (D,R) является кольцом относительно поточечного

умножения. Теперь построим отображение из кольца R в кольцо (D,R) по

правилу, выбираем некоторую фиксированную точку 0x D (это секретный

ключ), для всякого α R находим функцию f D (D,R) такую, что

0f (x ) α , функция f является представлением для элемента кольца α и

объявляется как открытый ключ. Очевидно, что это гомоморфизм колец. Для

определения зашифрованного элемента достаточно вычислить 0f (x ) .

В практических приложениях обычно берут конечный набор функций

1 2 rf , f ,..., f , которые объявляются базисными, и рассматривают под кольцо в

(D,R) образованное всевозможными произведениями и суммами базисных

функций.

Page 12: Советский суперкомпьютер К-340А и секретные вычисления

Основная модель полностью гомоморфного шифрования.

Фактически вышеперечисленные компьютеры используют полностью гомоморфное шифрование. Согласно модулярной арифметике, если дан

набор взаимно простых чисел 1 2 km ,m ,...,m и 1 2 kM m m ...m , то строится

изоморфизм колец MZ и 1 2 km m mZ Z ... Z . То, что это изоморфизм следует

из китайской теоремы об остатках. Для ЭВМ К-340А набор модулей такой 2; 5; 23; 63; 17; 19; 29; 13; 31; 61. Первое, что приходит в голову, чтоб сделать из модулярного подхода гомоморфное шифрование это скрыть набор

модулей 1 2 km ,m ,...,m , сделать из них секретный ключ. Однако такая система

шифрования достаточно просто вскрывается атакой с известными данными.

Page 13: Советский суперкомпьютер К-340А и секретные вычисления

Достаточно построить полностью гомоморфное шифрование для одного

модуля, пусть этот модуль равен m . Тем самым рассматривается кольцо mZ .

Согласно алгебраической геометрии для построения гомоморфизмов

необходимо построить множество функций со значением в кольце mZ .

Выберем простейший случай, в качестве множества функций выберем линейные функции n переменных

1 2 n 1 1 2 2 n n

i m

h(x , x ,..., x ) α x +α x +...+α x

α Z i=1,2,...,n

Множество таких функций обозначим R . К сожалению, R является

модулем над кольцом mZ , но не является кольцом. Для того чтобы сделать из

множества R кольцо, введем набор 3n структурных констант

ijk mγ Z i,j,k=1,2,...,n . Этот набор назовем таблицей умножения

Page 14: Советский суперкомпьютер К-340А и секретные вычисления

Определим произведение двух функций

1 1 2 n 1 1 2 2 n n

2 1 2 n 1 1 2 2 n n

h (x , x ,..., x ) α x +α x +...+α x

h (x ,x ,..., x ) β x +β x +...+β x

По правилу

1 1 2 n 2 1 2 n

k ijk i j1 , 1

h (x , x ,..., x ) h (x , x ,..., x )

x γ α βn n

k i j

.

Введение структурных констант позволяет снабдить множество R структурой алгебры (системы гиперкомплексных чисел). Умножение в этой алгебре не является, вообще говоря, коммутативным и ассоциативным.

Page 15: Советский суперкомпьютер К-340А и секретные вычисления

Положим n1 2 n m(u ,u ,...,u ) Z u , и определим гомоморфизм mφ : R Z по

правилу

1 2 nφ(h) h(u ,u ,...,u ) , специализация (вычисление функции в точке).

1 2 n(u ,u ,...,u )u назовем секретным ключом.

Утверждение 1. Структурные константы ijkγ можно выбрать так, что

отображение φ является гомоморфизмом колец.

Утверждение 2. Для любой секретной точки 1 2 n(u ,u ,...,u )u таблица

умножения ijkγ находится всегда, причем находится неоднозначно.

Таким образом, построено полностью гомоморфное шифрование в кольце

mZ . Секретным ключом является набор, состоящий из модуля m и точки

1 2 n(u ,u ,...,u )u . Открытым ключом является таблица умножения

ijk mγ Z i,j,k=1,2,...,n .

Page 16: Советский суперкомпьютер К-340А и секретные вычисления

Шифрование. Всякому md Z сопоставляется функция

1 2 n 1 1 2 2 n n

i m

h(x , x ,..., x ) α x +α x +...+α x

α Z i=1,2,...,n

Такая, что 1 2 nh(u ,u ,...,u ) d mod(m)

Дешифрование. Всякой функции 1 2 nh(x , x ,..., x ) сопоставляется число

1 2 nd h(u ,u ,...,u ) mod(m) .

Гомоморфность данного шифрования вытекает из того факта, что множество линейных функций с заданной таблицей умножения не выводит из класса линейных функций.

В данном варианте не происходит увеличение размера данных при умножении

Page 17: Советский суперкомпьютер К-340А и секретные вычисления

• Наличие таблицы умножения позволяет реализовать гомоморфное шифрование для рациональных чисел.

• Данная конструкция позволяет строить шифрование с открытым ключом из шифрования с секретным ключом.

Page 18: Советский суперкомпьютер К-340А и секретные вычисления

Бонус Пример шифрования с открытым ключом.

Отметим, что всякое шифрование суть некоторое вычисление. Возможность вычислять секретно позволяет из секретного ключа сделать открытый ключ.Приведем элементарный пример, как из шифрования Хилла сделать шифрование с открытым ключом. Выберем модуль m=42. Построим 2x2 матрицу обратимую по модулю 42 .

Page 19: Советский суперкомпьютер К-340А и секретные вычисления

13 7

11 8

A det 181 13mod(42) A

Например

Выберем секретный ключ (7, 19) v

Для представления первого элемента матрицы необходимо решить уравнение 7 x 19y 13mod(42) решаем стандартным образом и находим

пару (9, 4) . Аналогично для других элементов матрицы находим пары

( 2, 7) , (5, 12) , (15, 17) . Открытый ключ – матрица

(9, 4) ( 2, 7)

(5, 12) (15, 17)

Page 20: Советский суперкомпьютер К-340А и секретные вычисления

Для получения вероятностного шифрования добавим элемент представляющий 0. Выберем элемент вида ( 10,14) . Очевидно, что всякий

элемент вида ( 10 ,14 )k k представляет 0. Этот элемент является частью

открытого ключа.

Будем шифровать биты 0,1. Напишем представление для вероятностного шифрования. Биту 0 сопоставим числа 31,39. В зашифрованном представлении этим числам соответствуют пары (4, 9) , ( 23,16) . Биту 1

сопоставим числа 38,15. В зашифрованном виде им соответствуют пары ( 27,19) , (12, 3) . Этот набор пар является частью открытого ключа.

Page 21: Советский суперкомпьютер К-340А и секретные вычисления

В данной ситуации таблица умножения не нужна,

поэтому умножение пар получается из произведения

полиномов от двух переменных

2 2( )( ) ( )ax by cx dy acx ad bc xy bdy

На уровне пар это выглядит так-

( , ) ( , ) ( , , )a b c d ac ad bc bd .

Сложение делается по координатам.

Шифруем. Пусть надо зашифровать пару бит (0,1). Выбираем случайно представление. Предположим, что выбрали две пары ( 23,16) , (12, 3) .

Модифицируем за счет представления 0 парой ( 10,14) . Из первой пары

вычли 0,ко второй добавили. Получаем пары

( 23,16) ( 10,14) ( 13,2)

(12, 3) ( 10,14) (2,11)

.

Page 22: Советский суперкомпьютер К-340А и секретные вычисления

Модифицируем матрицу. В ней изменим элемент 22a ,

прибавив к нему представление 0.

(15, 17) ( 10,14) (5, 3)

Получаем матрицу

(9, 4) ( 2, 7)

(5, 12) (5, 3)

Теперь вычисляем

(9, 4) ( 2, 7) ( 13,2) ( 121,34, 85)

(5, 12) (5, 3) (2,11) ( 55,215, 57)

Отправляем на выход пару

( 121,34, 85),( 55,215, 57)

Это и есть шифртекст для представления (0,1)

Page 23: Советский суперкомпьютер К-340А и секретные вычисления

Дешифрование.

По секретному вектору (7, 19) v строим вектор

(симметрический квадрат) (49, 133,361) (7, 7,25)mod(42)

Вычисляем скалярные произведения

(( 121,34, 85),(7, 7,25)) 847 238 2115

3210 18mod(42) 24mod(42)

(( 55,215, 57),(7, 7,25)) 385 1505 1425

3315 39mod(42) 3mod(42)

Согласно построению решаем уравнение

13 7 24

11 8 3

x

y

Находим решение 39, y 15x . На всякий случай проверим

13 39 7 15 507 105 24mod(42)

11 39 8 15 429 120 3mod(42)

Смотрим по таблице, 39 соответствует биту 0, 15 соответствует биту 1.

Page 24: Советский суперкомпьютер К-340А и секретные вычисления

В данном шифровании модуль 42 был секретом. Можно ли сделать модуль или кратное модулю число открытым, мне пока неизвестно. Очевидно, что нужно брать количество переменныхбольше чем 2. Основным фактором для стойкости, является то обстоятельство,что шифрование является чисто вероятностным.Аналогично можно поступить и с вариантом RSA. При этом придется использовать таблицу умножения. Однако никакой проблемы связанной с факторизацией составного числа здесь нет. Отметим, что в данной ситуациишифрование также является вероятностным

Page 25: Советский суперкомпьютер К-340А и секретные вычисления

СПАСИБО ЗА ВНИМАНИЕ.

Вопросы?