Share to: share facebook share twitter share wa share telegram print page

XXTEA

XXTEA
РозробникиДевід Уілер і Роджер Нідгем
Уперше оприлюднений1998 р
Раундів, де - кількість слів
ТипМережа Фейстеля

XXTEA — криптографічний алгоритм, що реалізує блочне симетричне шифрування і є мережею Фейстеля. Є розширенням алгоритму Block TEA. Розроблений і опублікований Девідом Уілером і Роджером Нідгемом в 1998 році. Виконаний на простих і швидких операціях: XOR, підстановка, додавання.[1][2]

Історія

На симпозіумі Fast Software Encryption в грудні 1994 року Девід Уілер і Роджер Нідгем, професори Комп'ютерної Лабораторії Кембриджського Університету (Computer Laboratory, University of Cambridge), представили новий криптографічний алгоритм TEA. Даний алгоритм проектувався як альтернатива DES, який до того моменту вже вважався застарілим.[3][4]

Пізніше в 1996 році в ході особистого листування Девіда Уїлера з Девідом Вагнером була виявлена уразливість до атаки на пов'язаних ключах, яка була офіційно представлена в 1997 році на Першій Міжнародній Конференції ICIS групою вчених, що складалася з Брюса Шнайера, Джона Келсі і Девіда Вагнера.[5][6] Ця атака стала підставою для покращення алгоритму TEA, і в жовтні 1996 року Уілер і Нідгем опублікували внутрішній звіт лабораторії, в якій наводилося два нових алгоритми: XTEA і Block TEA.[7]

10 жовтня 1998 року група новин sci.crypt.research опублікувала статтю Маркку-Юхані Саарінена, в якій була знайдена уразливість Block TEA на стадії дешифрування[4]. У тому ж місяці Девід Уілер і Роджер Нідгем опублікували внутрішній звіт лабораторії, в якій наводилося поліпшення алгоритму Block TEA — XXTEA.[1]

Особливості

XXTEA, як і інші шифри колекції TEA, має ряд відмінних особливостей у порівнянні з аналогічними шифрами:

  • Висока швидкість роботи
  • Мале споживання пам'яті
  • Проста програмна реалізація
  • Відносно висока надійність.[8][9][2][4]

Опис роботи алгоритму

Схема алгоритму шифрування XXTEA

Вихідний текст розбивається на слова по 32 біта кожне, з отриманих слів формується блок. Ключ також розбивають на 4 частини, що складаються зі слів по 32 біта кожен, і формують масив ключів. В ході одного раунду роботи алгоритму шифрується одне слово з блоку. Після того, як були зашифровані слова, закінчується цикл і починається новий. Кількість циклів залежить від кількості слів і дорівнює , де — кількість слів. Шифрування одного слова полягає в наступному:

  1. Над лівим сусідом виконується операція бітового зсуву вліво на два, а над правим операція бітового зсуву вправо на п'ять. Над отриманими значеннями виконують операцію побітового додавання за модулем 2.
  2. Над лівим сусідом виконується операція бітового зсуву вправо на три, а над правим операція бітового зсуву вліво на 4. Над отриманими значеннями виконують операцію побітового додавання за модулем 2
  3. Отримані числа складають по модулю 232.
  4. Константа δ, виведена із Золотого перетину (δ = ( — 1) * 231 = 2654435769 = 9E3779B9h)[3] множиться на номер циклу (це було зроблено для запобігання простим атакам, заснованим на симетрії раундів).
  5. Отримане в попередньому пункті число складають побітово по модулю 2 з правим сусідом.
  6. Отримане в пункті 4 число зсувають побітово направо на 2, складають побітово по модулю два з номером раунду, і знаходять залишок від ділення на 4. З допомогою отриманого числа вибирають ключ з масиву ключів.
  7. Обраний в попередньому раунді ключ складають побітово по модулю 2 з лівим сусідом.
  8. Числа, отримані у попередньому та 4 пунктах складають по модулю 232.
  9. Числа, отримані в попередньому і 3 пунктах складають побітово по модулю 2, цю суму складають з шифрованим словом по модулю 232.

Криптоаналіз

На даний момент існує атака на основі адаптивно підібраного відкритого тексту, опублікована Еліасом Яаррковом в 2010 році. Існує два підходи, в яких використовується зменшення кількості циклів за рахунок збільшення кількості слів.

Перший підхід

Схема першого підходу диференціального криптоаналізу XXTEA

Нехай у нас є якийсь відкритий текст. Візьмемо з нього 5 певних слів, починаючи з , які ми шифруємо з . Додамо яке-небудь число до і отримаємо новий відкритий текст. Тепер виконаємо перший цикл шифрування для цих текстів. Якщо після шифрування різниця залишилася тільки в даному слові, то продовжуємо шифрування. Якщо почали з'являтися різниці в інших словах, то починаємо пошук заново або змінюючи вихідний, або намагаючись підібрати іншу різницю. Збереження різниці тільки в одному слові можливо, так як функція шифрування не бієктивна для кожного сусіда. Еліас Яаррков провів ряд експериментів і з'ясував, що ймовірність проходження різниці 5 повних циклів давала ймовірність між і для більшості ключів, тобто якщо пара текстів пройшла 5 з 6 повних циклів, то її можна вважати вірною, так як якщо помістити різницю в кінець блоку, будуть виникати різниці в більшості слів. Дана атака була проведена і був відновлений ключ для алгоритму з кількістю циклів зменшеною до трьох.

Другий підхід

Схема другого підходу диференціального криптоаналізу XXTEA

Другий підхід відрізняється від першого тим, що після першого раунду шифрування слова, різниця повинна перейти у нього самого з слова, при цьому різниця може зміниться, а після наступного раунду шифрування різниця повернеться в слово і стане дорівнювати початковому, але змінить знак. Після проведення оцінки даного методу, Еліас Яаррков отримав, що для успішного знаходження правильної пари досить 259 текстів, причому різниця повинна лежати в інтервалі , де , причому збільшення d не поліпшила результатів. Після була проведена успішна атака на XXTEA з кількістю циклом зменшеним до 4, і правильна пара була отримана за допомогою 235 пар текстів, а попередня оцінка дає необхідність у 234.7 пар текстів.

Відновлення ключа

Знаючи правильну пару текстів, досить прогнати алгоритм у зворотному порядку, оскільки тепер нам відомо все крім ключа. [2][8]

Зразок коду

Оригінальне формулювання виправленого блоку TEA алгоритму, опублікованого Девідом Вільцером та Роджером Нідгем, полягає в наступному[10]:

  #define MX ((z>>5^y<<2) + (y>>3^z<<4) ^ (sum^y) + (k[p&3^e]^z))
  
  long btea(long* v, long n, long* k) {
    unsigned long z=v[n-1], y=v[0], sum=0, e, DELTA=0x9e3779b9;
    long p, q ;
    if (n > 1) {          /* Coding Part */
      q = 6 + 52/n;
      while (q-- > 0) {
        sum += DELTA;
        e = (sum >> 2) & 3;
        for (p=0; p<n-1; p++) y = v[p+1], z = v[p] += MX;
        y = v[0];
        z = v[n-1] += MX;
      }
      return 0 ; 
    } else if (n < -1) {  /* Decoding Part */
      n = -n;
      q = 6 + 52/n;
      sum = q*DELTA ;
      while (sum != 0) {
        e = (sum >> 2) & 3;
        for (p=n-1; p>0; p--) z = v[p-1], y = v[p] -= MX;
        z = v[n-1];
        y = v[0] -= MX;
        sum -= DELTA;
      }
      return 0;
    }
    return 1;
  }

За словами Нідгема та Уілера:

BTEA буде кодувати або декодувати n слів як єдиний блок, де n> 1
  • v - вектор n даних слова
  • k - це ключ від 4 слів
  • n - для декодування є негативним
  • якщо n дорівнює нулю, то результат - 1, і ніякого кодування чи декодування не відбувається, інакше результат буде нульовим
  • передбачає 32-бітове "довге" та аналогічне кодування та декодування

Зверніть увагу, що ініціалізація z є невизначеною поведінкою для n <1, що може спричинити помилку сегментації або іншу небажану поведінку, - це було б краще помістити в блок «Coding Part». Крім того, у визначенні MX деякі програмісти вважатимуть за краще використовувати брекетинг, щоб визначити перевагу оператора.

Уточнена версія, включаючи такі вдосконалення, полягає в наступному:

  #include <stdint.h>
  #define DELTA 0x9e3779b9
  #define MX (((z>>5^y<<2) + (y>>3^z<<4)) ^ ((sum^y) + (key[(p&3)^e] ^ z)))
  
  void btea(uint32_t *v, int n, uint32_t const key[4]) {
    uint32_t y, z, sum;
    unsigned p, rounds, e;
    if (n > 1) {          /* Coding Part */
      rounds = 6 + 52/n;
      sum = 0;
      z = v[n-1];
      do {
        sum += DELTA;
        e = (sum >> 2) & 3;
        for (p=0; p<n-1; p++) {
          y = v[p+1]; 
          z = v[p] += MX;
        }
        y = v[0];
        z = v[n-1] += MX;
      } while (--rounds);
    } else if (n < -1) {  /* Decoding Part */
      n = -n;
      rounds = 6 + 52/n;
      sum = rounds*DELTA;
      y = v[0];
      do {
        e = (sum >> 2) & 3;
        for (p=n-1; p>0; p--) {
          z = v[p-1];
          y = v[p] -= MX;
        }
        z = v[n-1];
        y = v[0] -= MX;
        sum -= DELTA;
      } while (--rounds);
    }
  }

Примітки

  1. а б Wheeler et al, 1998.
  2. а б в Yarrkov, 2010.
  3. а б Wheeler et al, 1994.
  4. а б в Saarinen, 1998.
  5. Kelsey et al, 1997.
  6. ICIS, 1997.
  7. Wheeler et al, 1996.
  8. а б Sima et al, 2012.
  9. Cenwei, 2008.
  10. David J. Wheeler and Roger M. Needham (October 1998). Correction to XTEA (PDF). Computer Laboratory, Cambridge University, England. Архів оригіналу (PDF) за 20 вересня 2017. Процитовано 4 липня 2008.

Література

Read other articles:

Fictional character on 30 Rock Not to be confused with the child rapist Kenneth Parnell. This article may contain an excessive amount of intricate detail that may interest only a particular audience. Please help by spinning off or relocating any relevant information, and removing excessive detail that may be against Wikipedia's inclusion policy. (October 2023) (Learn how and when to remove this template message) Fictional character Kenneth Parcell30 Rock characterFirst appearancePilot (2006)Last…

American politician Thomas McKennan2nd United States Secretary of the InteriorIn officeAugust 15, 1850 – August 26, 1850PresidentMillard FillmorePreceded byThomas EwingSucceeded byAlexander StuartMember of the U.S. House of Representativesfrom Pennsylvania's 21st districtIn officeMay 30, 1842 – March 3, 1843Preceded byJoseph LawrenceSucceeded byWilliam WilkinsIn officeMarch 4, 1833 – March 3, 1839Preceded byConstituency establishedSucceeded byIsaac Le…

Biblioteca AngelicaL'ingresso della bibliotecaUbicazioneStato Italia Regione Lazio Città Roma IndirizzoP.zza S. Agostino, 8 - 00186 Roma CaratteristicheTipoBiblioteca pubblica statale di livello non dirigenziale ISILIT-RM0290 Numero opere200.000 volumi di cui più di 100.000, editi dal XV al XIX secolo Apertura1604 Sito web Modifica dati su Wikidata · ManualeCoordinate: 41°54′02.52″N 12°28′27.1″E / 41.9007°N 12.474194°E41.9007; 12.474194 La Biblioteca…

Patung Lakshmanaswami Mudaliar di Dewan Senat, Universitas Madras Diwan Bahadur Sir Arcot Lakshmanaswami Mudaliar, FRCOG, FACS (14 Oktober 1887 – 1974) adalah seorang edukasionis dan dokter asal India. Ia adalah saudara kembar identik dari Sir Arcot Ramasamy Mudaliar. Ia awalnya dididik di Kurnool dan kemudian pindah ke Chennai pada 1903.[1] Referensi ^ The twin stars of Arcot. The Hindu. 14 October 2012. Diakses tanggal 28 February 2018.  S. Muthiah, Achievements in double T…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2018) كريم بنعريف معلومات شخصية الميلاد 20 يناير 1993 (30 سنة)  الرباط  مركز اللعب لاعب وسط  الجنسية المغرب  تعديل مصدري - تعديل   كريم بنعريف (1993 المغرب) هو لا

Edith Lucie Bongo Información personalNacimiento 10 de marzo de 1964 Brazzaville (República del Congo) Fallecimiento 14 de marzo de 2009 (45 años)Rabat (Marruecos) Causa de muerte Cáncer Nacionalidad Congoleña y gabonesaReligión Islam FamiliaPadre Denis Sassou-Nguesso Cónyuge Omar Bongo Información profesionalOcupación Médica Partido político Partido Democrático Gabonés [editar datos en Wikidata]Édith Lucie Bongo Ondimba (10 de marzo de 1964 – 14 de marzo de 2009) fue u…

Das Mahnmal am Ort des Sammellagers im Moorwaldweg im Stadtteil Lahe und Blick ins Altwarmbüchener Moor Das Mahnmal für die Sinti im Altwarmbüchener Moor in Hannover erinnert an die Sinti, die in der Zeit des Nationalsozialismus in einem Sammellager im Altwarmbüchener Moor interniert wurden und dann in Vernichtungslager wie Auschwitz-Birkenau deportiert wurden.[1] Standort des Mahnmals ist der Moorwaldweg im Stadtteil Lahe circa 250 Meter nach dem Abzweig von der Kirchhorster Straße…

Not to be confused with Mary, Bloody Mary or Bloody Mary. 1975 filmMary, Mary, Bloody MaryTheatrical posterDirected byJuan López MoctezumaScreenplay byMalcolm MarmorsteinStory by Don Henderson Don Rico Starring Cristina Ferrare David Young John Carradine CinematographyMiguel GarzónEdited byFederico LanderosProductioncompanyCinema Management IncorporatedDistributed by Translor Proa Films[3] Release dates May 2, 1975 (1975-05-02) (Chicago)[1] October 29,&#…

Bandeira de ministro de Portugal. Catarina Sarmento e Castro, atual ministra da Justiça. Esta é uma lista de ministros da Justiça de Portugal, entre o início do Governo de D. Miguel a 26 de fevereiro de 1828, e a atualidade. A lista cobre o Miguelismo (1828–1834), a Monarquia Constitucional (1830–1910), a Primeira República (1910–1926), o período ditatorial da Ditadura Militar, Ditadura Nacional e Estado Novo (1926–1974) e o atual período democrático (1974–atualidade). Designa

Bobby McFerrin Bobby McFerrin en 2011Información personalNombre de nacimiento Robert Keith McFerrin Jr. Nombre en inglés Robert McFerrin Nacimiento 11 de marzo de 1950 (73 años)Manhattan (Estados Unidos) Nacionalidad EstadounidenseLengua materna Inglés FamiliaPadre Robert McFerrin EducaciónEducado en Universidad Estatal de SacramentoEscuela JuilliardOberlin Conservatory of MusicCerritos CollegeCathedral High SchoolSangamon State University Información profesionalOcupación músico, ca…

Shooting at the 2018 Commonwealth GamesVenueBelmont Shooting Centre, BrisbaneDates8 – 14 April 2018Competitors282 from 38 nations← 20142026 → Shooting at the2018 Commonwealth GamesEvents10 m air pistolmenwomen10 m air riflemenwomen25 m pistolwomen25 m rapid fire pistolmen50 m pistolmen50 m rifle 3 positionsmenwomen50 m rifle pronemenwomenTrapmenwomenDouble trapmenwomenSkeetmenwomenQueen's PrizeIndividualPairsvte Shooting competitions at the 2018 Common…

Village in Illinois, United StatesFord Heights, Illinois East Chicago Heights, IllinoisVillage SealLocation of Ford Heights in Cook County, Illinois.Location of Illinois in the United StatesCoordinates: 41°30′33″N 87°35′17″W / 41.50917°N 87.58806°W / 41.50917; -87.58806Country United StatesStateIllinoisCountyCookTownshipBloomIncorporated1949Government • MayorCharles R. GriffinArea[1] • Total1.95 sq mi (5.04 k…

2022 film score by Natalie HoltObi-Wan Kenobi (Original Soundtrack)Film score by Natalie HoltReleasedJune 29, 2022RecordedFebruary–April 2022StudioNewman Scoring Stage,Twentieth Century StudiosGenreSoundtrackLength1:22:34LabelWalt DisneyProducerNatalie HoltNatalie Holt chronology Loki: Season 1(2021) Obi-Wan Kenobi (Original Soundtrack)(2022) Loki: Season 2(2023) Star Wars soundtrack chronology The Book of Boba Fett(2022) Obi-Wan Kenobi(2022) Andor(2022) Singles from Obi-Wan Kenobi Obi…

Stadion Mitar Mićo GolišLocationPetrovac, MontenegroOwnerMunicipality BudvaCapacity1,630 (all-seated)SurfaceGrassConstructionOpened1969Renovated2013[1]TenantsOFK Petrovac, Montenegro women's national football team Stadion Mitar Mićo Goliš, formerly known as Stadion pod Malim brdom, is a football stadium in Petrovac, Montenegro. The stadium has a capacity of 1,630 seats and, from 2013, it is eligible for the UEFA international matches. History Stadium pod Malim brdom was built in 1969…

American freestyle skier Madison OlsenPersonal informationBorn (1995-04-07) April 7, 1995 (age 28)SportCountry United StatesSportFreestyle skiingEventAerials Madison Olsen (born April 7, 1995) is an American freestyle skier who competes internationally. She was raised in Park City, Utah.[1] She participated at the 2018 Winter Olympics.[2] References ^ Meet the Utah athletes who will compete in the Pyeongchang Olympic Games. The Salt Lake Tribune. February 4, 2018. ^ Ath…

2017 Indian filmAyanaOfficial posterDirected byGangadhar SalimathStarring Deepak Subramanya Apoorva Soma CinematographyVarun D.K.Edited byRavikumar M.Music byShriyansh ShreeramArjun RajkumarProductioncompanyDees FilmsRelease date 8 September 2017 (2017-09-08) CountryIndiaLanguagesEnglish[1]Kannada Ayana is a 2017 Kanglish film directed by Gangadhar Salimath.[1] The film is set in Bengaluru and features newcomers.[2][3][4] Cast Deepak Subrama…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) ديك كلاينر معلومات شخصية الميلاد 9 مارس 1921  نيويورك  تاريخ الوفاة 13 فبراير 2002 (80 سنة)   مواطنة الولايات المتحدة  الحياة العملية المهنة صحفي  تعديل م…

Russian boxer Gennadiy Shatkov Shatkov (right) v. Bruce Wells, 1955 Medal record Men's Boxing Representing the  Soviet Union Olympic Games 1956 Melbourne Middleweight European Amateur Championships 1955 West Berlin Middleweight 1959 Lucerne Middleweight Gennadi Ivanovich Shatkov (Russian: Геннадий Иванович Шатков, May 27, 1932 – January 14, 2009) was a boxer from the USSR, who competed in the Middleweight division (– 75 kg) during the major part of his…

Indian Railways train Pandian Superfast ExpressOverviewService typeSuperfastStatusActiveLocaleTamil NaduFirst service1 October 1969; 54 years ago (1969-10-01)[1]Current operator(s)Southern Railway zoneRidershipSuperfast ExpressRouteTerminiChennai Egmore (MS)Madurai Junction (MDU)Stops08Distance travelled493 km (306 mi)Average journey time07hrs 45minService frequencyDailyTrain number(s)12637 / 12638On-board servicesClass(es)1A , 2A , 3A , SL , II & EOGDisab…

Indian academic This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Farida Abdulla …

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 3.145.11.77