madf: (Default)
[personal profile] madf
У OpenSSL багато критиків, і уже багато форків. Раніше мені якось не доводилось стикатися з цією бібліотекою, але останній рік я працюю з нею майже щоденно, точніше з криптографічною її частиною. Тож є кілька думок з цього приводу.
1. У OpenSSL офігенна архітектура у тому що стосується криптографії (EVP_-stuff, BIO_-stuff).
2. У OpenSSL гівняна документація. Точніше у них дофіга документації на функції, але майже немає прикладів їх використання. Доводиться багато гуглити і шукати по stackoverflow про те як саме користуватись їх функціями.
3. У роботі з OpenSSL варто мати версію зібрану зі зневаджувальною інформацією і не треба боятися лізти у джерельні коди — там усе більш-менш доступно.
4. Варто розуміти як саме працює RSA і алгоритми на еліптичних кривих. Так, наприклад, я тільки вчора узнав що цифровий підпис зроблений за допомогою ECDSA кожного разу різний для одно і того ж набору даних. Причина у тому що у процесі підпису один із параметрів обирається випадково і саме його випадковість захищає від підбору приватного ключа за підписом. Існує RFC 6979 який описує алгоритм обирання цього параметру для детермінованого підпису, але він наразі не імплементований у OpenSSL. Це суттєво зменшує можливості до тестування коду що працює з ECDSA.
5. Варто знати що таке ASN.1 і як з ним працювати. Наприклад, я тільки сьогодні узнав що DER вимагає мінімально можливого кодування цілих чисел, і тому підпис може мати різний розмір — у мене він коливався від 69 до 72 байт для SHA256 digest і кривої prime256v1. При чому EVP_DigestVerifyFinal повертав коректну довжину підпису тільки після фактичного підпису.
6. У OpenSSL погано з повідомленнями про помилки. Фактично, жодне з тих що я отримав мені не допомогло.
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

madf: (Default)
madf

April 2017

S M T W T F S
      1
2345678
9101112131415
1617 1819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 26th, 2017 02:00 am
Powered by Dreamwidth Studios