Git Product home page Git Product logo

denvoit / fpga Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frizik/fpga

0.0 0.0 0.0 209.36 MB

Реализация скоростных криптографических систем

VHDL 80.54% Pascal 0.01% HTML 0.07% Shell 0.08% Tcl 0.31% Verilog 15.22% JavaScript 0.22% Batchfile 0.03% C 1.00% C++ 0.20% Makefile 0.02% Assembly 0.13% CartoCSS 0.01% SystemVerilog 0.74% V 1.41% PureBasic 0.01% Stata 0.01% Python 0.01% SuperCollider 0.03%

fpga's Introduction

Реализация скоростных криптографических систем на ПЛИС

Техническое задание

  1. Создать функционирующую быстродействующую криптографическую систему, реализующую алгоритм шифрования и дешифровки сообщений с открытым ключом.
  2. Требования к техническим характерискам: система, реализующая шифрование на основе ГОСТ или PGP- на выбор разработчика. На этом этапе длина ключа не принципиальна.
  3. Реализовать алгоритм блочного шифрования Кузнечик средствами ПЛИС на языке описания аппаратуры VHDL.
  4. Разработать корпус для устройства и создать минимальный работоспособный продукт.

Что за проблему призван решать проект?

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

Потенциальные клиенты

  1. Потенциальная сфера применения - банки и государственные учреждения, где скорость обработки конфиденциальной информации играет ключевую роль, а её объём очень велик.
  2. Устройство подходит и для личного пользования, но в ходе разработки проекта мы не учитывали данную перспективу, так как отследить круг заинтересованных лиц представляется невозможным.

Технология решения проблемы

Проект будет реализован с использованием ПЛИС на основе семейства Artix A7, обеспечивающих достаточно ресурсов для разработки при низкой потребляемой мощности и удовлетворительном быстродействии для поставленной задачи.  Аппаратная реализация криптоалгоритмов позволяет во много раз быстрее, по сравнению с программными аналогами, проводить расчёты и распараллеливать многочисленные однотипные задачи, что так же увеличивает скорость вычислений. 

Вид устройства на финише

Конечный продукт представляет собой миниатюрное устройство в пластиковом корпусе с необходимыми для управления индикаторами и портами ввода вывода. Дизайн будет добратываться в будущем, на данный момент команда работает над дизайном и эргономикой конечного изделия.

Что сделанно на данный момент

  1. Усепшно реализован алгоритм ГОСТ 34.12-2015 "Кузнечик".
  2. Реализованный в рамках проекта алгоритм шифрования работает по “упрощенной схеме”. Для прототипа размер блока был сокращён со 128 до 16 бит, размер ключа так же уменьшен с 256 до 32 бит. Количество раундов урезано до 5. На функциональность устройства это не повлияло.
  3. Создали первоначальный прототип корпуса устройства. Корпус был смоделирован в САПР Autodesk Fusion 360 и напечатан на 3d принтере. Точные габариты составляют 11.2 x 9.2 x 2.6
  4. Провели симуляционные тесты и убиделись в работоспособности описанного алгоритма.
  5. Разработали архитетуру утсройства на базе 32-битного софт-процессора Microblaze.

Результат работы

Функционирующая быстродействующая криптографическая система на основе ПЛИС(FPGA), реализующая алгоритм шифрования и дешифровки сообщений.

fpga's People

Contributors

drelagreen avatar frizik avatar zimus-a avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.