Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto-Examples

Репозиторий содрежит примеры автоматизации вычислений в конечных полях.

Все примеры реализованы с помощью SageMath. Вы можете установить данное ПО локально по инструкции либо использовать платформу CoCalc. Я воспользовался вторым вариантом, так как на платформе CoCalc есть возможность создать Jupyter Notebook с ядром SageMath и использовать его бесплатно (без доступа в интернет). Для запуска примеров доступ в интернет и не понадобится.


finite_fields_sagemath.ipynb - содержит реализации следующих алогоритмов:

  1. Вероятностный алгоритм поиска образующего элемента циклической группы
  2. Поиск примитивного многочлена поля
  3. Деление многочленов в поле
  4. Расчет обратного элемента
  5. Все элементы как степени корня неприводимого многочлена в поле GF(2^4)
  6. Таблицы сложения и умножения для поля GF(2^4)
  7. Все элементы как степени корня неприводимого многочлена в поле GF((2^2)^2)
  8. Таблицы сложения и умножения для поля GF((2^2)^2)

Подробнее об этих алгоритмах можно почитать в моих статьях на Habr:

  1. Галуа Ч.1: Классы вычетов и группы
  2. Галуа Ч.2: Кольца и поля. Конечные поля вида GF(p^n)
  3. Галуа Ч.3: Конечные поля вида GF((p^n)^m). Изоморфизм конечных полей

knapsack_sagemath.ipynb - содержит реализацию рюкзачной криптосистемы Шора-Ривеста.

Подробнее об этой криптосистеме можно почитать в моей статье на Habr: Рюкзачная криптосистема Шора-Ривеста.


Все оригиналы статей в формате pdf есть в моем IT-блоге в Telegram.

About

Примеры реализации операций в конечных полях, используемых в криптографии, с помощью SageMath.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages