Проверка хеширования, созданного HMAC, требует, чтобы ключ был известен валидатору. Таким образом, он симметричен. Что такое асимметричное решение similer, кроме SSL? так как я хочу, чтобы подпись была меньше, чем хеш md5. и процедура генерации и проверки должна быть легкой. Я проходил через алгоритм подписи Рабина, но не смог найти никакой реализации или псевдокода.асимметричный HMAC
ответ
Наименьшие асимметричные подписи исходят от elliptic curce криптосистем, таких как ECDSA. Схемы подписи ECDSA требуют, чтобы сигнатуры приблизительно в четыре раза превышали длину симметричного ключа шифрования эквивалентной безопасности. Таким образом, схема, сопоставимая по безопасности с 128-разрядной AES, имела бы 512-битные подписи. Это состояние дел прямо сейчас - схемы с меньшими сигнатурами, но с равной или большей безопасностью неизвестны.
Если вам не нужна высокая безопасность, вы можете использовать 192-битную кривую, которая приведет к 384-битным сигнатурам. Вы можете перейти к 320-битным сигнатурам (160-битные кривые) и по-прежнему иметь безопасность, сопоставимую с 80-битными симметричными шифрами. Если вы действительно не особо заботитесь о безопасности, можно использовать 112-битные кривые, обеспечивающие 224-битные подписи, которые так же сложно сломать, как DES.
следующих кривых то, что я рекомендовал бы для каждого уровня безопасности:
SecP112R1: 224-битных подписи, 56-битного уровень безопасности
SecP128R1: 256-битных сигнатуры, 64-битная безопасность уровень
SecP160K1: 320-битные подписи, 80-битный уровень безопасности
SecP192K1: 386-битные подписи, 96-битный уровень безопасности
SecP224K1: 448-битовые подписи, 112-битный уровень безопасности
SecP256K1: 512-битные подписи, 128-битный уровень безопасности
Для каждой кривой, закрытый ключ имеет тот же размер, как кривой. Открытые ключи (в сжатом виде) на один бит больше размера кривой. Подписи в два раза превышают размер кривой. Таким образом, с SecP256K1, закрытые ключи - 256 бит, открытые ключи - 257 бит, а подписи - 512 бит. Это минимальные размеры для исходных двоичных значений.
Осторожно: Я бы рассмотрел 160-битные кривые как минимум для любых целей, где безопасность является фактором. Меньшие кривые могут быть подходящими, если ключи генерируются, используются, а затем выбрасываются за небольшой промежуток времени. Для долговременной защиты следует использовать 256-битные кривые. Система в целом должна оцениваться компетентными специалистами, прежде чем она будет опираться.
- 1. Matplotlib асимметричный yerr путь
- 2. Асимметричный алгоритм криптографии
- 3. Gnuplot асимметричный xy errorbars
- 4. Как определить асимметричный + оператор
- 5. Асимметричный алгоритм уникальной пары
- 6. Асимметричный Шифрование и дешифрование
- 7. Асимметричный CSS Shadow
- 8. Асимметричный ETA квадратная матрица R
- 9. Что такое асимметричный связанный список
- 10. Асимметричный фон тень на CSS
- 11. OpenSSL HMAC отличаются от питона HMAC
- 12. Java Mac HMAC vs C++ OpenSSL hmac
- 13. Асимметричный виртуальный наследование алмаза в C++
- 14. Как создать асимметричный слайдер движения в java
- 15. Ядро Linux Асимметричный синтаксический анализатор ключей
- 16. iOS- UICollectionViewCell асимметричный размер каждой ячейки
- 17. SQL Encryption - асимметричный ключ - второй сервер
- 18. Асинхронный асимметричный FIFO в выпуске синтеза VHDL
- 19. асимметричный градиент цвета с ggplot bin2d
- 20. Как я могу реализовать асимметричный эквивалент funciton?
- 21. Флипа 2D асимметричный анимации в Unity3D
- 22. В чем разница между .NET HMAC и HMAC KeyedHashAlgorithm?
- 23. IOS HMAC-SHA1 отличается от стандартной Java HMAC-SHA1
- 24. HMAC 256 vs HMAC 512 Шифрование подписи JWT
- 25. Проблема реализации HMAC C#
- 26. Аутентификация HMAC в MVC3
- 27. C# Android HMAC результат
- 28. Внедрение аутентификации HMAC
- 29. HMAC-SHA1 в bash
- 30. HMAC MD5 с метеорным
Можете ли вы предоставить ссылку на реализацию? и в основном используется для чего? –
[OpenSSL] (http://www.openssl.org/) имеет реализацию ECDSA, как [Bouncy Castle] (http://www.bouncycastle.org/). ECDSA используется всякий раз, когда необходима схема подписи с наименьшей возможной длиной бит. (Например, транзакции [биткойн] (http://bitcoin.stackexchange.com/) защищены подписью SecP256K1 ECDSA.) –
Можете ли вы мне немного помочь? Я создаю закрытый ключ с 'openssl ecparam -name secp112r1 -genkey', теперь мне нужно сгенерировать открытый ключ с помощью какой команды? Я не очень хорошо знаю команды openssl. –