NSA and IETF: Can an attacker purchase standardization of weakened cryptography?
Автор поднимает тревожный вопрос о возможности намеренного ослабления криптографических стандартов через процесс стандартизации в IETF. Он предполагает, что атакующие, включая государственные структуры вроде АНБ, могут лоббировать принятие уязвимых алгоритмов, маскируя это под законную стандартизацию. Это создаёт риски для безопасности данных, особенно в контексте постквантовой криптографии и гибридных схем.
В статье отмечается, что подобная практика может нарушать антимонопольное законодательство, если доминирующие игроки навязывают небезопасные решения. Автор призывает к повышенной бдительности и независимому аудиту предлагаемых стандартов, чтобы избежать повторения ошибок прошлого, таких как скандалы с Dual_EC_DRBG.
Комментарии (81)
- DJB и другие критикуют предложение NSA отказаться от гибридного постквантового шифрования в пользу только PQ, видя в этом попытку ослабить стандарты безопасности.
- Участники выражают глубокое недоверие к NSA, ссылаясь на прошлые случаи ослабления стандартов (Dual EC, DES) и грязные методы агентства.
- Поднимаются вопросы о реальных целях NSA, поскольку технически подкованные цели и так используют гибриды, а за остальными можно следить через PRISM.
- Отмечается, что формальная жалоба DJB в IETF была отклонена, а процесс стандартизации подвергся критике за грубость и возможную ангажированность.
- Обсуждается, что даже частичное внедрение ослабленного стандарта выгодно разведке, так как увеличивает вероятность перехвата данных со временем.
How I Made Ruby Faster Than Ruby
Как я ускорил Ruby до скорости Ruby
P2 — новая библиотека шаблонов, где HTML описывается чистым Ruby. В отличие от ERB, исходный код шаблона не исполняется: он компилируется в эффективный Ruby-код, который генерирует HTML. Это делает P2 первой библиотекой, использующей компиляцию исключительно.
Как работает компиляция
Шаблон — это Proc:
->(title:) {
html { body { h1 title } }
}.render(title: 'Hi')
При вызове #render код превращается в:
->(buf, title) {
buf << "<html><body><h1>"
buf << ERB::Escape.html_escape(title.to_s)
buf << "</h1></body></html>"
buf
}
- Парсинг: Sirop читает файл и строит AST через Prism.
- Трансформация:
TagTranslatorзаменяетCallNodeнаTagNode, если вызов соответствует HTML-тегу без получателя. - Обратный код: подкласс
Sourcifierпреобразует AST обратно в Ruby, подставляя строки буфера и экранирование.
Оптимизация
Jean Boussier указал узкие места и направления. В результате генерация стала заметно быстрее «чистого» Ruby.
Комментарии (20)
- Автор создал альтернативу ERB, ускорил её до сопоставимой скорости, но, по мнению @swombat, выводит ошибочное заключение.
- @ciconia (автор) спорит: производительность Ruby важна, его системы выдают >1K RPS.
- @barrkel: Ruby медленнее, но быстрее Python; у каждого свои пути к скорости.
- @Alifatisk: сравнивать Ruby с Rust бессмысленно — языки для разных задач.
- Остальные комментарии свелись к старому мему «yo dawg».