Розробники VPN-протоколу WireGuard оголосили про створення криптографічної бібліотеки Zinc
Розробники VPN-протоколу WireGuard оголосили про створення криптографічної бібліотеки Zinc
Розробники VPN-протоколу WireGuard оголосили про створення криптографічної бібліотеки Zinc. Очікується, що після впровадження WireGuard в основне ядро Linux вона прискорить процес шифрування даних завдяки спрощеному набору криптоалгоритмів.
WireGuard на основі ядра Linux
Бібліотека Zinc складається з всіх криптографічних примітивів, що використовуються в WireGuard, зібраних у спрощеному вигляді. Її завдання полягає у підвищенні продуктивності шифрування даних та швидкого виконання SIMD-інструкцій.
На відміну від використовуваного в актуальному ядрі Linux інтерфейсу СryptoAPI, WireGuard з біблиотекою Zinc пропонує спрощений набір готових функцій. Вони можуть використовуватися тільки за прямим призначенням, що позбавляє від появи зайвих високорівневих абстракцій. Вважається, що некоректне використання функцій є головним джерелом проблем у розробці додатків.
Zinc пропонує такі криптографічні примітиви:
- потокові шифри ChaCha20 та HHACha20;
- технологію автентифікації повідомлень Poly1305;
- функцію Curve25519 з протоколом Діффі-Хеллмана для створення секретного ключа;
- хеш-функцію BLAKE2s з продуктивністю на рівні MD5;
- механізми шифрування ChaCha20-Poly1305 та XChaCha20-Poly1305.