Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Ускорение установки HTTPS-соединений
Саймон Харн рассказал о том, как HTTPS-сертификаты влияют на производительность сайта — "The Performance Cost of EV Certificates".
Есть три основных типа HTPS-сертификатов: Domain Validation (DV), Organisation Validation (OV), Extended Validation (EV). DV-сертификаты выдаются на основе факта принадлежности домена, как в Let's Encrypt. OV- и EV-сертификаты выдаются организациям за оплату.
EV-сертификат предоставляет большее количество информации для пользователя, но по-большому счёту он не сильно отличается от OV. Вы могли видеть, что сайт использует EV-сертификат, когда в адресной строке рядом с иконкой замка зелёным текстом отображался владелец сертификата. С версии Chrome 77 такие сертификаты отображаются обычным значком замка без зелёного текста.
OV-сертификаты валидируются на стороне веб-сервера отправкой запроса на сервер организации, выдавшей сертификат. EV-сертификаты не могут валидироваться на стороне веб-сервера, поэтому их валидация происходит на клиенте, замедляя установку HTTPS-соединения. Задержка наиболее заметна в странах бывшего СССР, в Восточной Австралии, Канаде и большинстве стран Африки. Некоторые организации сталкивались с минутной задержкой для пользователей в Китае. Эта проблема решается переходом на OV-сертификат.
#http #performance #security
https://simonhearne.com/2020/drop-ev-certs/
Саймон Харн рассказал о том, как HTTPS-сертификаты влияют на производительность сайта — "The Performance Cost of EV Certificates".
Есть три основных типа HTPS-сертификатов: Domain Validation (DV), Organisation Validation (OV), Extended Validation (EV). DV-сертификаты выдаются на основе факта принадлежности домена, как в Let's Encrypt. OV- и EV-сертификаты выдаются организациям за оплату.
EV-сертификат предоставляет большее количество информации для пользователя, но по-большому счёту он не сильно отличается от OV. Вы могли видеть, что сайт использует EV-сертификат, когда в адресной строке рядом с иконкой замка зелёным текстом отображался владелец сертификата. С версии Chrome 77 такие сертификаты отображаются обычным значком замка без зелёного текста.
OV-сертификаты валидируются на стороне веб-сервера отправкой запроса на сервер организации, выдавшей сертификат. EV-сертификаты не могут валидироваться на стороне веб-сервера, поэтому их валидация происходит на клиенте, замедляя установку HTTPS-соединения. Задержка наиболее заметна в странах бывшего СССР, в Восточной Австралии, Канаде и большинстве стран Африки. Некоторые организации сталкивались с минутной задержкой для пользователей в Китае. Эта проблема решается переходом на OV-сертификат.
#http #performance #security
https://simonhearne.com/2020/drop-ev-certs/
Simon Hearne
The Performance Cost of EV Certificates
Extended Validation certificates are expensive and degrade performance. Move to an OV certificate if you can!
Forwarded from Библиотека питониста | Python, Django, Flask
Algorithmic Trading with Interactive Brokers (Python and C++) (2019)
Автор: Matthew Scarpino
Количество страниц: 418
В этой книге описывается процесс разработки приложений на основе API IB Trader Workstation (TWS). Начальные главы знакомят с фундаментальными классами и функциями, а последующие главы показывают, как их можно использовать для реализации полномасштабных торговых систем. При наличии алгоритмической системы трейдерам не нужно часами смотреть на графики; просто запустите торговое приложение и позвольте TWS API выполнять свою работу.
Скачать книгу
Автор: Matthew Scarpino
Количество страниц: 418
В этой книге описывается процесс разработки приложений на основе API IB Trader Workstation (TWS). Начальные главы знакомят с фундаментальными классами и функциями, а последующие главы показывают, как их можно использовать для реализации полномасштабных торговых систем. При наличии алгоритмической системы трейдерам не нужно часами смотреть на графики; просто запустите торговое приложение и позвольте TWS API выполнять свою работу.
Скачать книгу
Telegram
Книги для программистов (reserved)
Algorithmic Trading with Interactive Brokers (Python and C++) (2019)
Автор: Matthew Scarpino
Автор: Matthew Scarpino
== Why the "volatile" type class should not be used
https://www.kernel.org/doc/Documentation/process/volatile-considered-harmful.rst
короч не юзать там где стоит лок на данные. всегда ставить лок на данные
а volatile нужен суперредко. в memory mapped IO, потому что там состояние ножек может меняться непредсказуемым для компилятора образом.
плюс volatile это всегда data-race и UB
https://www.kernel.org/doc/Documentation/process/volatile-considered-harmful.rst
короч не юзать там где стоит лок на данные. всегда ставить лок на данные
а volatile нужен суперредко. в memory mapped IO, потому что там состояние ножек может меняться непредсказуемым для компилятора образом.
плюс volatile это всегда data-race и UB
== Pointers in C / C++ [Full Course]
https://youtu.be/zuegQmMdy8M
4 часа занятного забавного индусского говора про поинторы в Си. в 2х норм
Разжовывает до состояния питьегого пюре
- Introduction to pointers in C/C++
- Working with pointers
- Pointer types, pointer arithmetic, void pointers
- Pointers to Pointers in C/C++
- Pointers as function arguments - call by reference
- Pointers and arrays
- Arrays as function arguments
- Character arrays and pointers - part 1
- Character arrays and pointers - part 2
- Pointers and 2-D arrays
- Pointers and multidimensional arrays
- Pointers and dynamic memory - stack vs heap
- Dynamic memory allocation in C - malloc calloc realloc free
- Pointers as function returns in C/C++
- Function Pointers in C / C++
- Function pointers and callbacks
- Memory leak in C/C++
https://youtu.be/zuegQmMdy8M
4 часа занятного забавного индусского говора про поинторы в Си. в 2х норм
Разжовывает до состояния питьегого пюре
- Introduction to pointers in C/C++
- Working with pointers
- Pointer types, pointer arithmetic, void pointers
- Pointers to Pointers in C/C++
- Pointers as function arguments - call by reference
- Pointers and arrays
- Arrays as function arguments
- Character arrays and pointers - part 1
- Character arrays and pointers - part 2
- Pointers and 2-D arrays
- Pointers and multidimensional arrays
- Pointers and dynamic memory - stack vs heap
- Dynamic memory allocation in C - malloc calloc realloc free
- Pointers as function returns in C/C++
- Function Pointers in C / C++
- Function pointers and callbacks
- Memory leak in C/C++
YouTube
Pointers in C / C++ [Full Course]
Pointers in C and C++ are often challenging to understand. In this course, they will be demystified, allowing you to use pointers more effectively in your code. The concepts you learn in this course apply to both C and C++.
✏️ Course developed by Harsha…
✏️ Course developed by Harsha…
Forwarded from КиберОлег 🦄🤖🙌
This media is not supported in your browser
VIEW IN TELEGRAM
#программирование
Наткнулся на весьма интересный инструмент ускорения разработки. Это fig - autocomplete для терминала.
Можно ввести “docker r” и он продолжит “docker run”. Казалось бы всего две буквы, но если часто зависаете в терминале с докерами и файлами, то очень повышает эффективность.
Fig опенсорсный и поддерживает много инструментов разработки, а также работает с локальными папками и скриптами.
Короче говоря, советую установить. Вообще вся эта история с автодополнениями на ноутбуке крутая, хочу чтоб они были везде как в смартфоне и были точнее с нейронками, потому что я ленивый много печатать.
Наткнулся на весьма интересный инструмент ускорения разработки. Это fig - autocomplete для терминала.
Можно ввести “docker r” и он продолжит “docker run”. Казалось бы всего две буквы, но если часто зависаете в терминале с докерами и файлами, то очень повышает эффективность.
Fig опенсорсный и поддерживает много инструментов разработки, а также работает с локальными папками и скриптами.
Короче говоря, советую установить. Вообще вся эта история с автодополнениями на ноутбуке крутая, хочу чтоб они были везде как в смартфоне и были точнее с нейронками, потому что я ленивый много печатать.
Forwarded from Блог*
#prog #rust #моё
Меня тут один Олег™ попросил коротко рассказать о афинных типах в Rust. Что ж, рассказываю.
Аффинные системы типов — это системы типов, в которых объявленные значения можно использовать не более одного раза. Как и прочие ти́повые навороты, это позволяет писать более корректные программы путём перекладывания бо́льшего числа проверок на компилятор.
Для демонстрации практической пользы приведу пару примеров из стандартной библиотеки Rust:
1. std::sync::Mutex. Для корректной работы многопоточной программы требуется, чтобы доступ к совместно разделяемым изменяемым данным был должным образом синхронизирован. Один из способов достичь его — это защитить изменяемое значение мьютексом. Простой способ, обладающий, однако, существенным недостатком: очень просто забыть захватить блокировку перед тем, как получить доступ к значению (особенно если мьютекс защищает несколько переменных). Какое решение предлагает Rust?
Посмотрим на то, как создать мьютекс. Единственный способ создать мьютекс — это передать ему защищаемое значение. После этого получить доступ к разделяемому значению можно, только попытавшись захватить блокировку или же разрушив мьютекс, причём последнее можно сделать только в том случае, если поток (в смысле thread) единолично владеет мьютексом. Таким образом, несинхронизированный доступ исключён.
Другая возможная проблема с мьютексом связана с тем, что в большинстве языков программирования значения неявно копируются: нужно прилагать специальные усилия для того, чтобы удостовериться, что каждый из thread-ов получает один и тот же мьютекс, а не свою собственную копию (тут была шутка про Go, но она была настолько толстой, что Telegram не давал загрузить пост). В Rust это получается автоматически: нет методов, позволяющих получить копию мьютекса, поэтому расшарить можно только тот или иной вид указателя на мьютекс.
2. std::fs::File. Сборщик мусора помогает освобождать занятую память, но он не очень помогает с внешними ресурсами, в частности, файлами: закрыть файл обычно нужно сразу после того, как работа с ним окончена, а сборщик мусора никаких гарантий по времени закрытий файла не даёт. В стандартной библиотеке большинства языков программирования (даже с GC) есть отдельная функция, которая закрывает файл. Тем не менее, присутствие этой функции обнажает серьёзный изъян в системе типов: файл невозможно использовать после закрытия (также, как и до открытия, но обычно это не является большой проблемой), но это состояние никак не отслеживается в системе типов. Более того, дважды закрывать файл может быть попросту опасно: например, на Linux файл описывается файловым дескриптором — фактически, просто числом. После закрытия файла это же числовое значение может быть переиспользованно для другого файла, поэтому второе закрытия того же файлового дескриптора может привести к закрытию файла в другой программе!
Как эти проблемы обходятся в Rust? Если вы проверите API File, то... Вы не найдёте там метода close! Когда File выходит из области видимости, для него вызывается деструктор, который и закрывает файл. Т. к. явного метода закрытия файла в публичном API нет, единственный способ форсировать закрытие файла — это дропнуть файл (например, вызовом std::mem::drop). В силу того, что после этого получить доступ к файлу нельзя, возможность двойного закрытия статически запрещается.
Очевидно, аффинные типы не являются серебряной пулей. Каковы же недостатки? Конкретно в случае с File недостаток очевиден: закрытие файла может завершиться ошибкой, но закрытие посредством вызова деструктора не позволяет об этом узнать. Более сильные линейные типы (в которых каждое значение используется ровно один раз) позволили бы решить эту проблему, требуя явно вызывать close и таким образом давать доступ к возможным ошибкам, но это уже тема для другого поста.
Меня тут один Олег™ попросил коротко рассказать о афинных типах в Rust. Что ж, рассказываю.
Аффинные системы типов — это системы типов, в которых объявленные значения можно использовать не более одного раза. Как и прочие ти́повые навороты, это позволяет писать более корректные программы путём перекладывания бо́льшего числа проверок на компилятор.
Для демонстрации практической пользы приведу пару примеров из стандартной библиотеки Rust:
1. std::sync::Mutex. Для корректной работы многопоточной программы требуется, чтобы доступ к совместно разделяемым изменяемым данным был должным образом синхронизирован. Один из способов достичь его — это защитить изменяемое значение мьютексом. Простой способ, обладающий, однако, существенным недостатком: очень просто забыть захватить блокировку перед тем, как получить доступ к значению (особенно если мьютекс защищает несколько переменных). Какое решение предлагает Rust?
Посмотрим на то, как создать мьютекс. Единственный способ создать мьютекс — это передать ему защищаемое значение. После этого получить доступ к разделяемому значению можно, только попытавшись захватить блокировку или же разрушив мьютекс, причём последнее можно сделать только в том случае, если поток (в смысле thread) единолично владеет мьютексом. Таким образом, несинхронизированный доступ исключён.
Другая возможная проблема с мьютексом связана с тем, что в большинстве языков программирования значения неявно копируются: нужно прилагать специальные усилия для того, чтобы удостовериться, что каждый из thread-ов получает один и тот же мьютекс, а не свою собственную копию (тут была шутка про Go, но она была настолько толстой, что Telegram не давал загрузить пост). В Rust это получается автоматически: нет методов, позволяющих получить копию мьютекса, поэтому расшарить можно только тот или иной вид указателя на мьютекс.
2. std::fs::File. Сборщик мусора помогает освобождать занятую память, но он не очень помогает с внешними ресурсами, в частности, файлами: закрыть файл обычно нужно сразу после того, как работа с ним окончена, а сборщик мусора никаких гарантий по времени закрытий файла не даёт. В стандартной библиотеке большинства языков программирования (даже с GC) есть отдельная функция, которая закрывает файл. Тем не менее, присутствие этой функции обнажает серьёзный изъян в системе типов: файл невозможно использовать после закрытия (также, как и до открытия, но обычно это не является большой проблемой), но это состояние никак не отслеживается в системе типов. Более того, дважды закрывать файл может быть попросту опасно: например, на Linux файл описывается файловым дескриптором — фактически, просто числом. После закрытия файла это же числовое значение может быть переиспользованно для другого файла, поэтому второе закрытия того же файлового дескриптора может привести к закрытию файла в другой программе!
Как эти проблемы обходятся в Rust? Если вы проверите API File, то... Вы не найдёте там метода close! Когда File выходит из области видимости, для него вызывается деструктор, который и закрывает файл. Т. к. явного метода закрытия файла в публичном API нет, единственный способ форсировать закрытие файла — это дропнуть файл (например, вызовом std::mem::drop). В силу того, что после этого получить доступ к файлу нельзя, возможность двойного закрытия статически запрещается.
Очевидно, аффинные типы не являются серебряной пулей. Каковы же недостатки? Конкретно в случае с File недостаток очевиден: закрытие файла может завершиться ошибкой, но закрытие посредством вызова деструктора не позволяет об этом узнать. Более сильные линейные типы (в которых каждое значение используется ровно один раз) позволили бы решить эту проблему, требуя явно вызывать close и таким образом давать доступ к возможным ошибкам, но это уже тема для другого поста.
== Building Data Pipelines with Apache Kafka® and Confluent | Data Pipelines Tutorials
https://www.youtube.com/playlist?list=PLa7VYi0yPIH1MculjFWJxs-aENPxRHHOS
https://www.youtube.com/playlist?list=PLa7VYi0yPIH1MculjFWJxs-aENPxRHHOS
YouTube
Building Data Pipelines with Apache Kafka® and Confluent | Data Pipelines Tutorials
Data in motion always move between disparate systems and are being transformed along the way. Data pipeline knowledge is an essential tool for streaming data...
Системное_программное_обеспечение_файловые_системы_ОС_Unix_zmAwX5u.pdf
795.3 KB
за сегодня обнаружил небольшой пробел того как именно выделяется файловый дескриптор и как ОСь себя ведет и что в этот момент творится в ФС. поэтому колупаю эту сторону. пока вот метода и микростатья. для начала уже закрыло прилично так вопросов
== СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - 1997год
Unix:
- Структура ФС на диске
- Индексный дескриптор файла
- Монтируемость ФС
- Рабочие файлы
- Каталоги
- Специальные файлы (файлы устройств)
- права доступа
- Логическая структура ФС
- Внутрисистемная организация ввода/вывода
- Данные, ассоциированные с ОС и с процессом
- Взаимодействие с устройствами
Windows NT:
- Объектная модель и контроль доступа
- Организация ввода-вывода
- NTFS, принципы, восстанавливаемость
ААААА ВИнда, за что ты такая сложная а ????? переусложнили капец... и слои и клиент-серверы и микроядра и басы...
== Что такое файловый дескриптор простыми словами
https://timeweb.com/ru/community/articles/chto-takoe-faylovyy-deskriptor-prostymi-slovami
== СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - 1997год
Unix:
- Структура ФС на диске
- Индексный дескриптор файла
- Монтируемость ФС
- Рабочие файлы
- Каталоги
- Специальные файлы (файлы устройств)
- права доступа
- Логическая структура ФС
- Внутрисистемная организация ввода/вывода
- Данные, ассоциированные с ОС и с процессом
- Взаимодействие с устройствами
Windows NT:
- Объектная модель и контроль доступа
- Организация ввода-вывода
- NTFS, принципы, восстанавливаемость
ААААА ВИнда, за что ты такая сложная а ????? переусложнили капец... и слои и клиент-серверы и микроядра и басы...
== Что такое файловый дескриптор простыми словами
https://timeweb.com/ru/community/articles/chto-takoe-faylovyy-deskriptor-prostymi-slovami
Forwarded from Заработок онлайн 💰NO [SCAM]
Please open Telegram to view this post
VIEW IN TELEGRAM
наконец добрался дослушать
== REST vs gRPC
https://youtu.be/jlzomoLBl6U
== REST vs GRPC (JSON index attachment)
ttps://youtu.be/jILVrU1w_yc
== REST vs gRPC
https://youtu.be/jlzomoLBl6U
== REST vs GRPC (JSON index attachment)
ttps://youtu.be/jILVrU1w_yc
YouTube
REST vs gRPC
== Мнимые числа реальны: #1-13 [Welch Labs]
https://youtu.be/kicp_odjsRs
https://youtu.be/kicp_odjsRs
YouTube
Мнимые числа реальны: #1-13 [Welch Labs]
Смотреть видео в оригинале: https://youtube.com/playlist?list=PLiaHhY2iBX9g6KIvZ_703G3KJXapKkNaF
Поддержать выход переводов: https://www.patreon.com/VertDider
Мнимые числа, несмотря на своё название, вполне реальны. По крайней мере, в той же степени, что…
Поддержать выход переводов: https://www.patreon.com/VertDider
Мнимые числа, несмотря на своё название, вполне реальны. По крайней мере, в той же степени, что…
хехех... короч пошел ка я читать кернель как писать... надоели эти ваши сайтики и вебчики
== Rust takes a major step forward as Linux's second official language
https://www.zdnet.com/article/rust-takes-a-major-step-forward-as-linuxs-second-official-language/
== Rust support
https://lkml.org/lkml/2021/12/6/461
== Rust takes a major step forward as Linux's second official language
https://www.zdnet.com/article/rust-takes-a-major-step-forward-as-linuxs-second-official-language/
== Rust support
https://lkml.org/lkml/2021/12/6/461
ZDNET
Rust takes a major step forward as Linux's second official language
Linux is getting more Rust in it by the day.
== Как работают коды Spotify?
https://habr.com/ru/company/ruvds/blog/594115/
https://boonepeter.github.io/posts/2020-11-10-spotify-codes/
- Упреждающая коррекция ошибо (FEC)
- Код Грея
== Spotify Codes - Part 2
https://boonepeter.github.io/posts/spotify-codes-part-2/
https://habr.com/ru/company/ruvds/blog/594623/
- CRC Calculation
- Convolutional encoding
- Convolutional decoding
https://habr.com/ru/company/ruvds/blog/594115/
https://boonepeter.github.io/posts/2020-11-10-spotify-codes/
- Упреждающая коррекция ошибо (FEC)
- Код Грея
== Spotify Codes - Part 2
https://boonepeter.github.io/posts/spotify-codes-part-2/
https://habr.com/ru/company/ruvds/blog/594623/
- CRC Calculation
- Convolutional encoding
- Convolutional decoding
Хабр
Как работают коды Spotify?
Коды Spotify подобны QR-кодам. Их можно генерировать для того, чтобы делиться песнями, исполнителями, плейлистами и пользователями. Я решил разобраться в принципе их действия, в результате чего...
== Комплексные и мнимые числа. Реальность Торвальда
https://youtu.be/RfQ0GgoLcks
https://youtu.be/RfQ0GgoLcks
YouTube
Комплексные и мнимые числа. Реальность Торвальда
В этом видео вы узнаете о мнимых и комплексных числах, а также узнаете, где ошибся Торвальд и автор канала Welch Labs. Приятного просмотра!
Всем желающим помочь проекту:
Boosty: https://boosty.to/makarsvet13
Сбербанк - 4276460013244533
Второй канал: ht…
Всем желающим помочь проекту:
Boosty: https://boosty.to/makarsvet13
Сбербанк - 4276460013244533
Второй канал: ht…
== ОБЩАЯ АЛГЕБРА. Основные понятия и математическая красота
https://youtu.be/xvl9mYYBXC4
https://youtu.be/xvl9mYYBXC4
YouTube
ОБЩАЯ АЛГЕБРА. Основные понятия (когда 2*2=1)
Игра "Битва гениев"
Для IOS: https://begenius.app.link/04Dv1VLcIT
Android:https://begenius.app.link/rbawxAWcIT
Лекции Савватеева: https://www.youtube.com/user/sibscience
Курсы Шестопалова: https://vk.com/market-120699864
Курсы "Открытого образования": h…
Для IOS: https://begenius.app.link/04Dv1VLcIT
Android:https://begenius.app.link/rbawxAWcIT
Лекции Савватеева: https://www.youtube.com/user/sibscience
Курсы Шестопалова: https://vk.com/market-120699864
Курсы "Открытого образования": h…
Forwarded from CyberYozh
Финалисты конкурса AES.
(Конкурс по выбору нового алгоритма шифрования, для замены DES).
AES (англ. Advanced Encryption Standard) — симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется. Но многие забывают про достойные альтернативы (Но не все, например, масштабно используются в Truecrypt/Veracrypt/Zulucrypt, и не только).
Twofish.
Симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа до 256 бит. Число раундов 16. Разработан группой специалистов во главе с Брюсом Шнайером. Являлся одним из пяти финалистов второго этапа конкурса AES. Алгоритм разработан на основе алгоритмов Blowfish, SAFER и Square.
Отличительными особенностями алгоритма являются использование предварительно вычисляемых и зависящих от ключа узлов замены и сложная схема развёртки подключений шифрования. Половина n-битного ключа шифрования используется как собственно ключ шифрования, другая — для модификации алгоритма (от неё зависят узлы замены).
Serpent.
Разработан Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном. Некоторые предыдущие разработки авторов тоже носили названия в честь животных, например Tiger, Bear.
Алгоритм являлся одним из финалистов 2-го этапа конкурса AES. Как и другие алгоритмы, участвовавшие в конкурсе AES, Serpent имеет размер блока 128 бит и возможные длины ключа 128, 192 или 256 бит. Алгоритм представляет собой 32-раундовую SP-сеть, работающую с блоком из четырёх 32-битных слов. Serpent был разработан так, что все операции могут быть выполнены параллельно, используя 32 1-битных «потока».
При разработке Serpent использовался более консервативный подход к безопасности, нежели у других финалистов AES, проектировщики шифра считали, что 16 раундов достаточно, чтобы противостоять известным видам криптоанализа, но увеличили число раундов до 32, чтобы алгоритм мог лучше противостоять ещё неизвестным методам криптоанализа.
Став финалистом конкурса AES, алгоритм Serpent в результате голосования занял 2 место.
Шифр Serpent не запатентован и является общественным достоянием.
Обсудить в чате 👉 https://news.1rj.ru/str/+jrxm2KHbIl9kMDQy
(Конкурс по выбору нового алгоритма шифрования, для замены DES).
AES (англ. Advanced Encryption Standard) — симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется. Но многие забывают про достойные альтернативы (Но не все, например, масштабно используются в Truecrypt/Veracrypt/Zulucrypt, и не только).
Twofish.
Симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа до 256 бит. Число раундов 16. Разработан группой специалистов во главе с Брюсом Шнайером. Являлся одним из пяти финалистов второго этапа конкурса AES. Алгоритм разработан на основе алгоритмов Blowfish, SAFER и Square.
Отличительными особенностями алгоритма являются использование предварительно вычисляемых и зависящих от ключа узлов замены и сложная схема развёртки подключений шифрования. Половина n-битного ключа шифрования используется как собственно ключ шифрования, другая — для модификации алгоритма (от неё зависят узлы замены).
Serpent.
Разработан Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном. Некоторые предыдущие разработки авторов тоже носили названия в честь животных, например Tiger, Bear.
Алгоритм являлся одним из финалистов 2-го этапа конкурса AES. Как и другие алгоритмы, участвовавшие в конкурсе AES, Serpent имеет размер блока 128 бит и возможные длины ключа 128, 192 или 256 бит. Алгоритм представляет собой 32-раундовую SP-сеть, работающую с блоком из четырёх 32-битных слов. Serpent был разработан так, что все операции могут быть выполнены параллельно, используя 32 1-битных «потока».
При разработке Serpent использовался более консервативный подход к безопасности, нежели у других финалистов AES, проектировщики шифра считали, что 16 раундов достаточно, чтобы противостоять известным видам криптоанализа, но увеличили число раундов до 32, чтобы алгоритм мог лучше противостоять ещё неизвестным методам криптоанализа.
Став финалистом конкурса AES, алгоритм Serpent в результате голосования занял 2 место.
Шифр Serpent не запатентован и является общественным достоянием.
Обсудить в чате 👉 https://news.1rj.ru/str/+jrxm2KHbIl9kMDQy
== Introducing Firefox’s new Site Isolation Security Architecture
https://hacks.mozilla.org/2021/05/introducing-firefox-new-site-isolation-security-architecture/
хах. шикарная статья почему это вообще понадобилось и как оно стало
https://hacks.mozilla.org/2021/05/introducing-firefox-new-site-isolation-security-architecture/
хах. шикарная статья почему это вообще понадобилось и как оно стало
Mozilla Hacks – the Web developer blog
Introducing Firefox’s new Site Isolation Security Architecture
With Site Isolation enabled on Firefox for Desktop, Mozilla takes its security guarantees to the next level.
== Всё, что вы не знали о CAP теореме
https://habr.com/ru/post/328792/
== Забудьте САР теорему как более не актуальную
https://habr.com/ru/post/258145/
== You Can’t Sacrifice Partition Tolerance
https://codahale.com/you-cant-sacrifice-partition-tolerance/
Instead of CAP, you should think about your availability in terms of yield (percent of requests answered successfully) and harvest (percent of required data actually included in the responses) and which of these two your system will sacrifice when failures happen.
== Мифы о CAP теореме
https://habr.com/ru/post/322276/
== Нам мало CAP. Да здравствует PACELC
https://temofeev.ru/info/articles/nam-malo-cap-da-zdravstvuet-pacelc/
https://habr.com/ru/post/328792/
== Забудьте САР теорему как более не актуальную
https://habr.com/ru/post/258145/
== You Can’t Sacrifice Partition Tolerance
https://codahale.com/you-cant-sacrifice-partition-tolerance/
Instead of CAP, you should think about your availability in terms of yield (percent of requests answered successfully) and harvest (percent of required data actually included in the responses) and which of these two your system will sacrifice when failures happen.
== Мифы о CAP теореме
https://habr.com/ru/post/322276/
== Нам мало CAP. Да здравствует PACELC
https://temofeev.ru/info/articles/nam-malo-cap-da-zdravstvuet-pacelc/