Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Советский суперкомпьютер
К-340А и секретные
вычисления
Кренделев Сергей Федорович
Новосибирский государственный университе...
• Под секретными вычислениями подразумевается
обработка зашифрованных данных без их
дешифрования
• области применения тако...
• В обработке данных участвуют две
стандартные структуры
1. Отношение порядка, применяется для
поиска и сравнений. Шифрова...
С точки зрения математики в криптографии
ничего нового нет. Все конструкции давно
известны. Новым является только метод
ре...
В докладе будем говорить, только о
гомоморфном шифровании.
Вот математическое определение.
Под гомоморфным шифрованием пон...
• Литература на эту тему фактически является
отчетами по грантам для DARPA ( Defense
Advanced Research Projects Agency —
а...
В этих работах рассматривается вариант
гомоморфного шифрования, где 2Z  .
Другими словами 2:Z . Наличие
гомоморфизма ...
Печальный факт заключается в том, что
вариант с гомоморфным шифрованием 2:Z 
очень далек от практической реализации.
Пр...
• Необходимы другие подходы, как к
гомоморфному шифрованию, так и к
компьютерным системам которые собираемся
эмулировать.
...
Недостатки – проверка выхода за диапазон
данных, сравнение больше, меньше. С точки
зрения разработчиков этих систем –
“мод...
Общие методы построения гомоморфного шифрования.
Стандартный метод построения гомоморфизмов колец проистекает из
стандартн...
Основная модель полностью гомоморфного шифрования.
Фактически вышеперечисленные компьютеры используют полностью
гомоморфно...
Достаточно построить полностью гомоморфное шифрование для одного
модуля, пусть этот модуль равен m. Тем самым рассматривае...
Определим произведение двух функций
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 ,.....
Положим n
1 2 n m(u ,u ,...,u ) Z u , и определим гомоморфизм mφ:R Z по
правилу
1 2 nφ(h) h(u ,u ,...,u ) , специализа...
Шифрование. Всякому 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
...
• Наличие таблицы умножения позволяет
реализовать гомоморфное шифрование
для рациональных чисел.
• Данная конструкция позв...
Бонус
Пример шифрования с открытым ключом.
Отметим, что всякое шифрование суть
некоторое вычисление. Возможность
вычислять...
13 7
11 8
 
 
 
A det 181 13mod(42) A
Например
Выберем секретный ключ (7, 19) v
Для представления первого элем...
Для получения вероятностного шифрования добавим элемент
представляющий 0. Выберем элемент вида ( 10,14) . Очевидно, что в...
В данной ситуации таблица умножения не нужна,
поэтому умножение пар получается из произведения
полиномов от двух переменны...
Модифицируем матрицу. В ней изменим элемент 22a ,
прибавив к нему представление 0.
(15, 17) ( 10,14) (5, 3)    
Получ...
Дешифрование.
По секретному вектору (7, 19) v строим вектор
(симметрический квадрат) (49, 133,361) (7, 7,25)mod(42)  ...
В данном шифровании модуль 42 был секретом.
Можно ли сделать модуль или кратное модулю
число открытым,
мне пока неизвестно...
СПАСИБО ЗА ВНИМАНИЕ.
Вопросы?
Upcoming SlideShare
Loading in …5
×

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

1,227 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Советский суперкомпьютер К-340А и секретные вычисления Кренделев Сергей Федорович Новосибирский государственный университет Parallels Работа выполнена при финансовой поддержке Минобрнауки РФ (договор № 02.G25.31.0054)
  2. 2. • Под секретными вычислениями подразумевается обработка зашифрованных данных без их дешифрования • области применения таковы: • Обработка персональных данных в облачных сервисах в зашифрованном виде • Мощные методы обфускации на программном и аппаратном уровне. Защита от Side Channel атак • Защищенные базы данных в облаках, и на рабочем месте.
  3. 3. • В обработке данных участвуют две стандартные структуры 1. Отношение порядка, применяется для поиска и сравнений. Шифрование для этой структуры называется Шифрованием сохраняющим порядок. (Order Preserving Encryption – OPE) 2. Арифметические структуры. Сложение умножение. Шифрование для этих структур называется Гомоморфным Шифрованием ( Homomorphic Encryption).
  4. 4. С точки зрения математики в криптографии ничего нового нет. Все конструкции давно известны. Новым является только метод реализации. Очень жаль, что Эйлер, Ферма, Гаусс …. не имели компьютеров, сейчас про числа мы бы знали гораздо больше. Например: если говорить про шифрование сохраняющее порядок, то это на самом деле речь идет о представлении монотонных функций.
  5. 5. В докладе будем говорить, только о гомоморфном шифровании. Вот математическое определение. Под гомоморфным шифрованием понимается любое отображение :  , где ,  кольца произвольного вида, такое что (x+y) (x)+ (y)    (x y) (x) (y)     , если уравнение (x) λ  имеет решение, то это решение единственно. Считается, что  - открытый ключ. Как решать уравнение (x) λ  это секретный ключ.
  6. 6. • Литература на эту тему фактически является отчетами по грантам для DARPA ( Defense Advanced Research Projects Agency — агентство передовых оборонных исследовательских проектов министерства обороны США), • IARPA ( Intelligence Advanced Research Projects Activity — Агентство по перспективным исследованиям разведывательного ведомства, национальная разведка США) • Отчеты в компаниях IBM, Microsoft.
  7. 7. В этих работах рассматривается вариант гомоморфного шифрования, где 2Z  . Другими словами 2:Z . Наличие гомоморфизма  позволяет секретно вычислять любые многочлены от любого числа переменных. Это означает, что можно имитировать (эмулировать) стандартный процессор с двоичным представлением данных и операциями, связанными с двоичной логикой. Это возможно, учитывая, что стандартные операции в поле 2Z можно преобразовать в логические операции or, and (на самом деле достаточно nand).
  8. 8. Печальный факт заключается в том, что вариант с гомоморфным шифрованием 2:Z  очень далек от практической реализации. Проблема в росте зашифрованных данных, особенно при умножении. В случае реализации логических схем умножение присутствует всегда
  9. 9. • Необходимы другие подходы, как к гомоморфному шифрованию, так и к компьютерным системам которые собираемся эмулировать. • Существует вариант компьютеров основанных на системе остаточных классов (СОК) или в современных терминах на основе модулярной арифметике. Такие компьютеры разрабатывались в 50-70 годы прошлого столетия для создания РЛС. К ним относится суперкомпьютер К-340А, а также СуперЭВМ 5Э53, ЭВМ “Алмаз” и т.п. Все они основаны на модулярной арифметике. Особенностью данных компьютеров является очень высокий параллелизм, что позволяет делать вычисления в реальном времени.
  10. 10. Недостатки – проверка выхода за диапазон данных, сравнение больше, меньше. С точки зрения разработчиков этих систем – “модулярная и двоичная арифметика несовместимы”. Цель работы построить систему полностью гомоморфного шифрования, которая бы имитировала (эмулировала) этот класс вычислительных устройств.
  11. 11. Общие методы построения гомоморфного шифрования. Стандартный метод построения гомоморфизмов колец проистекает из стандартной алгебраической геометрии. Пусть 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) образованное всевозможными произведениями и суммами базисных функций.
  12. 12. Основная модель полностью гомоморфного шифрования. Фактически вышеперечисленные компьютеры используют полностью гомоморфное шифрование. Согласно модулярной арифметике, если дан набор взаимно простых чисел 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 , сделать из них секретный ключ. Однако такая система шифрования достаточно просто вскрывается атакой с известными данными.
  13. 13. Достаточно построить полностью гомоморфное шифрование для одного модуля, пусть этот модуль равен 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 кольцо, введем набор 3 n структурных констант ijk mγ Z i,j,k=1,2,...,n . Этот набор назовем таблицей умножения
  14. 14. Определим произведение двух функций 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 j 1 , 1 h (x ,x ,...,x ) h (x ,x ,...,x ) x γ α β n n k i j      . Введение структурных констант позволяет снабдить множество R структурой алгебры (системы гиперкомплексных чисел). Умножение в этой алгебре не является, вообще говоря, коммутативным и ассоциативным.
  15. 15. Положим n 1 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 .
  16. 16. Шифрование. Всякому 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) . Гомоморфность данного шифрования вытекает из того факта, что множество линейных функций с заданной таблицей умножения не выводит из класса линейных функций. В данном варианте не происходит увеличение размера данных при умножении
  17. 17. • Наличие таблицы умножения позволяет реализовать гомоморфное шифрование для рациональных чисел. • Данная конструкция позволяет строить шифрование с открытым ключом из шифрования с секретным ключом.
  18. 18. Бонус Пример шифрования с открытым ключом. Отметим, что всякое шифрование суть некоторое вычисление. Возможность вычислять секретно позволяет из секретного ключа сделать открытый ключ. Приведем элементарный пример, как из шифрования Хилла сделать шифрование с открытым ключом. Выберем модуль m=42. Построим 2x2 матрицу обратимую по модулю 42 .
  19. 19. 13 7 11 8       A det 181 13mod(42) A Например Выберем секретный ключ (7, 19) v Для представления первого элемента матрицы необходимо решить уравнение 7x 19y 13mod(42)  решаем стандартным образом и находим пару (9, 4) . Аналогично для других элементов матрицы находим пары ( 2, 7)  , (5, 12) ,(15, 17) . Открытый ключ – матрица (9, 4) ( 2, 7) (5, 12) (15, 17)        
  20. 20. Для получения вероятностного шифрования добавим элемент представляющий 0. Выберем элемент вида ( 10,14) . Очевидно, что всякий элемент вида ( 10 ,14 )k k представляет 0. Этот элемент является частью открытого ключа. Будем шифровать биты 0,1. Напишем представление для вероятностного шифрования. Биту 0 сопоставим числа 31,39. В зашифрованном представлении этим числам соответствуют пары (4, 9) ,( 23,16) . Биту 1 сопоставим числа 38,15. В зашифрованном виде им соответствуют пары ( 27,19) ,(12, 3) . Этот набор пар является частью открытого ключа.
  21. 21. В данной ситуации таблица умножения не нужна, поэтому умножение пар получается из произведения полиномов от двух переменных 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)          .
  22. 22. Модифицируем матрицу. В ней изменим элемент 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)
  23. 23. Дешифрование. По секретному вектору (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.
  24. 24. В данном шифровании модуль 42 был секретом. Можно ли сделать модуль или кратное модулю число открытым, мне пока неизвестно. Очевидно, что нужно брать количество переменных больше чем 2. Основным фактором для стойкости, является то обстоятельство, что шифрование является чисто вероятностным. Аналогично можно поступить и с вариантом RSA. При этом придется использовать таблицу умножения. Однако никакой проблемы связанной с факторизацией составного числа здесь нет. Отметим, что в данной ситуации шифрование также является вероятностным
  25. 25. СПАСИБО ЗА ВНИМАНИЕ. Вопросы?

×