1 / 9

Други потокови шифри и реални генератори на случайни последователности

Други потокови шифри и реални генератори на случайни последователности. 1. RC4

bozica
Download Presentation

Други потокови шифри и реални генератори на случайни последователности

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Други потокови шифри и реални генератори на случайни последователности 1. RC4 Ключовият поток е независим от явния текст. Има 8 * 8 S-бокс: S0, S1,..., S255. входовете са една пермутация на числа от 0 до 255, като пермутацията е една функция на един променлив по дължина ключ. Има два брояча i и j, инициализирани от 0. За да се генерира случаен байт се прави следното: i = (i + 1) mod 256 j = (j + Si) mod 256 swap Si and Sj t = (Si + Sj) mod 256 K = St Байтът K се подлага на XOR с явния текст за да се получи шифрования текст. Шифрирането е 10 пъти по-бързо от това на DES. Инициализацията на S-бокса е също лесна: изпълва се линейно : S0 = 0, S1 = 1,..., S255 = 255. Изпълва се 256-байта матрица с ключ, повтаряйки ключа за да се запълни матрицата : K0, K1,..., K255. прави се j =0; тогава for i = 0 to 255: j = (j + Si + Ki) mod 256 swap Si and Sj

  2. Други потокови шифри и реални генератори на случайни последователностиПродължение 2. SEAL Алгоритъмът е оптимизиран за 32—битови процесори и са необходими 32-битови регистри и cache от няколко колобайта. Pseudo-random Function Family Една нова особеност на SEAL е че не е традиционен потоков шифър, а pseudo-random function family. Даден е 160-bit ключ k, и едно 32-bit n, SEAL разтегля n до L-bit стринг k(n). L може да бъде коя и да е стойност по-малка от 64 кВ. SEAL се предполага, че е има отличително качество при k избрано случайно, тогава k(n) ще бъде изчислително неразличима от една случайна L-bit функция от n. Описание на SEAL Три таблици за получаване на ключ - R, S и T, задвижват алгоритъма.Предварителна стъпка определя ключа k, от таблиците. Таблица T е един 9 * 32 bit S-box. SEAL също употребява 32-битови регистри A, B, C и D, чиито начални стойности са определени от n и k- изведено от таблици R и T. Тези регистри могат да се модифицират през различните итерации - всяка една включва по 8 рунда. На всеки рунд 9 бита от първите регистри (или A, B, C или D) се употребяват за да индексират в таблица T. Стойността, получена от T се прибавя или подлага на XOR със съдържанието на втория регистър : отново един от A, B, C или D. Първият регистър се ротира на 9 позиции. В същия рунд вторият регистър се подлага на сумиране или на XOR (сега изместен) първи регистър. След 8 рунда като този A, B, C и D се прибавят към потока на ключа, всеки маскиран отначало чрез прибавяне или XOR с дума от S. Итерацията завършва с прибавяне към A и C допълнителни стойности зависими от n, n1, n2, n3, n4 – по-точно които зависят от номера на итерацията.

  3. Други потокови шифри и реални генератори на случайни последователностиПродължение 3. WAKE WAKE е алгоритъм за автоматично шифриране на дума. Той произвежда поток от 32-битови думи, които се подлагат на XOR с потока на явния текст, за да се получи шифрирания текст или се подлага на XOR с потока на шифрования текст за да даде явния текст. WAKE използва предишната шифрована дума за да генерира следващ. Използва се също един S-box със 256 32-bit стойности. S-box има специални свойства: най- старшият байт от всички части/единици е една пермутация на всички възможни байтове и трите най-младши байта са случайни. Първо се генерират S-box входовете - Si от ключа. След това се инициализират 4 регистъра с ключа или с друг ключ: a0, b0, c0, and d0. За да се генерира 32-bit поток от ключови думи Ki: Ki = di Шифрованата дума Ci е получена от явния текст Pi е подложена на XOR с Ki. Тогава се обновяват 4-те регистъра: ai+1 = M(ai,di) bi+1 = M(bi,ai+1) ci+1 = M(ci,bi+1) di+1 = M(di,ci+1) Функцията M е M(x,y) = (x + y) >> 8 ⊕ S(x+y) ^ 255

  4. Други потокови шифри и реални генератори на случайни последователностиПродължение Схемата на WAKE е показана по-долу. 4. Обратна връзка с Carry изместващи регистри (FCSR ) FCSR е подобен на LFSR. И двата имат изместващи регистри и функция на о.в., но разликата е, че FCSR има също един carry – регистър. Вместо употреба на XOR всички битове в тап-последователността събират битовете заедно и добавят съдържанието в carry-регистър. Резултатът по mod 2 става нов бит. Резултатът разделен на две става ново съдържание на carry-регистъра.

  5. Други потокови шифри и реални генератори на случайни последователностиПродължение Shift Register Carry Register 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 Максималният период на FCSR не е 2n - 1, където n е дължината на изместващия регистър. Максималният период е q - 1, където q се нарича connection integer. Това число дава тап-последователността и се определя от: q = 2q1 + 22q2 + 24q4 +...+ 2nqn - 1 . В горния пример q = 2*0 + 4*1 + 8*1 - 1 = 11. И 11 е просто число на 2 като примитивен корен. Максималният период е 10. 5. Потокови шифри, употребяващи FCSR Cascade Generators Има два на чина на употреба на FCSR в каскадните генератори: — FCSR каскада - Gollmann каскада с FCSR вмести LFSR; — LFSR/FCSR каскада - Gollmann каскада с редуващи се в генератора LFSR и FCSR.

  6. Други потокови шифри и реални генератори на случайни последователностиПродължение FCSR комбинирани генератори — FCSR Parity Generator. — LFSR/FCSR Parity Generator. — FCSR Threshold Generator. — LFSR/FCSR Threshold Generator. — FCSR Summation Generator. — LFSR/FCSR Summation Generator. LFSR/FCSR Summation/Parity каскади Редуващи се Stop-and-Go генератори

  7. Други потокови шифри и реални генератори на случайни последователностиПродължение 6. Изместващи регистри с нелинейни о.в. 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 Изходната последователност е 0 1 1 0 1 0 0 0 0 0 0 0.... 7. Други потокови шифри. Pless генератор Клетъчен автоматичен генератор Обновяваща функция на едномерната матрицаa1, a2, a3,..., ak,..., an a‘k = ak-1 ⊕ (ak ⊦ ak+1)

  8. Други потокови шифри и реални генератори на случайни последователностиПродължение 1/p генератор xt+1 = bxt mod p , където b е примитивен корен на mod p, когато p е просто число. 8. Системно-теоретичен подход в проектирането на потокови шифри. Има 4 подхода за проектирането: • System-theoretic approach; • Information-theoretic approach; • Complexity-theoretic approach; • Randomized approach. Критериите за проектирането са: • Long period • Linear complexity criteria • Statistical criteria • Diffusion • Nonlinearity criteria

  9. Други потокови шифри и реални генератори на случайни последователностиПродължение 9. Подход на теория на сложността в проектирането на потокови шифри. Blum-Micali генератор Базира се трудно изчисляване на дискретните логаритми. Нека g е просто число и p да е също просто, но нечетно число. Един ключ x0, стартира процеса: xi+1 = gxi mod p Изходът на генератора е 1, ако xi < (p - 1)/2, и 0 – в обратния случай. Ако p е достатъчно голямо, такова че е невъзможно да се определят дискретните логаритми mod p, тогава генераторът е секретен.

More Related