The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск криптографической библиотеки LibreSSL 3.9.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Выпуск криптографической библиотеки LibreSSL 3.9.0" +/
Сообщение от n00by (ok), 12-Мрт-24, 19:55 
> Вот у меня на гитхубе моя liblcb

#define SHA1_Ch(__x, __y, __z)    (((__x) & (__y)) | ((~(__x)) & (__z)))
#define SHA1_Maj(__x, __y, __z)    (((__x) & (__y)) | ((__x) & (__z)) | ((__y) & (__z)))

SHA1_Ch упрощается первой строкой, а SHA1_Maj - третьей.


    static inline uint32_t f(unsigned const t, uint32_t b,
                                  uint32_t c, uint32_t d)
    {
      return  t < 20 ?  (c ^ d) & b ^ d      // b & c | ~b & d
            : t < 40 ?  b ^ c ^ d
            : t < 60 ?  (c | d) & b | c & d  //b & c | b & d | c & d
            :/* < 80 */ b ^ c ^ d;
    }

Про такие фокусы советую «Алгоритмические трюки для программистов» Генри Уоррен, мл.
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск криптографической библиотеки LibreSSL 3.9.0, opennews, 10-Мрт-24, 10:43  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру