RU2267227C2 - Способ и устройство для шифрования сигналов для передачи - Google Patents
Способ и устройство для шифрования сигналов для передачи Download PDFInfo
- Publication number
- RU2267227C2 RU2267227C2 RU99121330/09A RU99121330A RU2267227C2 RU 2267227 C2 RU2267227 C2 RU 2267227C2 RU 99121330/09 A RU99121330/09 A RU 99121330/09A RU 99121330 A RU99121330 A RU 99121330A RU 2267227 C2 RU2267227 C2 RU 2267227C2
- Authority
- RU
- Russia
- Prior art keywords
- value
- encryption
- substituted
- encryption key
- index
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Storage Device Security (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Изобретение относится к области радиосвязи, а именно способу и устройству для шифрования сигналов для передачи. Сущность изобретения состоит в том, что в процессе шифрования осуществляют пять прогонов шифрования в соответствии с кодом блочного шифрования с переменной длиной с использованием первой и второй таблиц шифрования и шифровального ключа, осуществляют первый прогон шифрования одного из совокупности сигналов сообщения в соответствии с первым преобразованием по шифровальному ключу, осуществляют второй прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным преобразованием по шифровальному ключу, осуществляют третий прогон шифрования одного из совокупности сигналов сообщения в соответствии с самоинвертирующим преобразованием, при котором изменяют, по меньшей мере, одно из совокупности сигналов сообщение, осуществляют четвертый прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным инверсным преобразованием по шифровальному ключу, которое является инверсией одного дополнительного преобразования по шифровальному ключу, осуществляют пятый прогон шифрования одного из совокупности сигналов собщения в соответствии с первым инверсным преобразованием по шифровальному ключу, которое является инверсией первого преобразования по шифровальному ключу. Технический результат заключается в исключении перехвата и несанкционированного использования шифрованной информации. 8 н. и 44 з.п. ф-лы, 5 ил.
Description
1. Область техники
Настоящее изобретение относится к способу и устройству для шифрования сигналов для передачи.
2. Описание предшествующего уровня техники
Для поставщиков услуг в области радиосвязи является желательным иметь возможность проверить, что запрос на услуги связи от удаленной станции исходит от санкционированного пользователя. В некоторых современных сотовых телефонных системах, например в системах, использующих аналоговую технологию стандарта AMPS (усовершенствованной мобильной телефонной службы), не предусмотрено никаких мер для предотвращения несанкционированного доступа к системе. Поэтому в таких системах распространено несанкционированное использование. Одним из несанкционированных путей доступа к обслуживанию является клонирование, при котором несанкционированный пользователь перехватывает информацию, необходимую для инициирования вызова. После этого несанкционированный пользователь может запрограммировать мобильный радиотелефон с помощью перехваченной информации и использовать этот аппарат для незаконного получения услуг телефонной связи.
Для решения этих и других проблем многие системы сотовой телефонной связи внедрили схемы аутентификации, такие как схема, предложенная в стандарте EIA/TIA/IS-54-B Ассоциации промышленности средств связи. Одним из признаков этой схемы аутентификации является шифрование передаваемой через эфир информации, необходимой для получения услуг связи. Эту информацию шифруют с помощью алгоритма шифрования сотового сообщения (АШСС). Алгоритм АШСС описан в патенте США 5159634 на изобретение "Криптосистема для сотовой телефонной связи", упоминаемом здесь для сведения.
Однако алгоритм АШСС обладает рядом недостатков, которые позволяют расшифровать зашифрованную информацию с помощью современной стандартной вычислительной техники за относительно короткое время. Эти недостатки будут подробно изложены ниже, после чего будет описано изобретение, позволяющее их устранить. Алгоритм АШСС был опубликован в Интернет, поэтому его недостатки может изучить любое заинтересованное лицо. Следовательно, существует потребность в новом алгоритме для замены АШСС, который бы позволил исключить возможность перехвата и несанкционированного использования аутентификационной информации, необходимой для инициирования услуги сотовой связи.
Сущность изобретения
Согласно одному аспекту изобретения предложен способ преобразования совокупности сигналов сообщения, представляющей сообщение для передачи по системе связи, заключающийся в том, что осуществляют первое кодирование одного из совокупности сигналов сообщения в соответствии с первым преобразованием по ключу, осуществляют второе кодирование упомянутого одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным преобразованием по ключу, осуществляют третье кодирование упомянутого одного из совокупности сигналов сообщения в соответствии с самоинвертирующим преобразованием, при котором изменяют, по меньшей мере, один из совокупности сигналов сообщения, осуществляют четвертое кодирование упомянутого одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным инверсным преобразованием по ключу, причем каждое из, по меньшей мере, одного дополнительного инверсного преобразования по ключу является соответствующей инверсией упомянутого, по меньшей мере, одного дополнительного преобразования по ключу, осуществляют пятое кодирование упомянутого одного из совокупности сигналов сообщения в соответствии с первым инверсным преобразованием по ключу, которое является инверсией упомянутого первого преобразования по ключу.
Согласно другому спектру изобретения предложен способ шифрования сигналов для передачи, заключающийся в том, что сигналы кодируют путем применения к ним ряда преобразований, представляющего собой заранее определенную комбинацию преобразований по ключу, самоинвертирующих преобразований и/или инверсных преобразований по ключу.
Согласно следующему аспекту изобретения предложено устройство для шифрования сигналов для передачи, содержащее множество кодирующих каскадов, предназначенных для подлежащих передаче сигналов, путем применения соответствующего ряда преобразований, являющегося заранее определенной комбинацией преобразований по ключу, самоинвертирующих преобразований и/или инверсных преобразований по ключу.
Кодирование по методу блочного шифрования с переменной длиной (БШПД), предлагаемое в данном изобретении, позволяет преодолеть перечисленные выше недостатки алгоритма АШСС. Предпочтительный вариант изобретения характеризуется свойствами:
- шифруются блоки переменной длины, предпочтительно длиной по меньшей мере два байта;
- осуществляется самоинвертирование,
- используется очень малый объем динамической памяти и всего 512 байтов статических таблиц,
- возможна оценка с помощью 8-разрядных микропроцессоров,
- используется 64-битный ключ, который можно просто модифицировать для использования более длинного или короткого ключа.
Первый недостаток алгоритма АШСС заключается в том, что таблица секретности и шифрования речи для аутентификации в сотовой системе связи (СШРА), используемая для табличных поисков, не является полной. Она дает только 164 разных значений вместо 256. Наличие большого числа невозможных значений позволяет предположить возвратные значения tbox () или ключевых байтов и проверить эти предположения. В предлагаемом изобретении предлагается устранить этот недостаток путем замены таблицы СШРА двумя разными таблицами, выбранными таким образом, чтобы исключить используемые статистические характеристики таблицы СШРА. Эти таблицы, именуемые далее как t1box и t2box, являются строгими перестановками 256 8-битных целых чисел, причем ни одна из записей не находится в своем собственном индексном положении. Кроме того, t1box [i] не равно t2box [i] для всех значений i. Эти две таблицы были сформированы произвольно, причем все кандидаты, не отвечающие вышеуказанным критериям, были отброшены.
Второй недостаток АШСС заключается в повторном использовании значения функции, именуемой tbox (), оцениваемой нулем. Значение tbox (0) используется дважды при шифровании первого байта. Это дает возможность угадать tbox (0) и использовать это предположение для определения другой информации в процессе шифрования, в частности результат первого этапа АШСС для последнего байта и параметры двух значений tbox (0), используемых при шифровании второго байта. Это также позволяет с помощью решения выбранного открытого текста определить tbox() путем проб разных значений открытого текста до тех пор, пока в зашифрованном тексте не возникнет какая-либо распознанная комбинация. Этот второй недостаток устранен в изобретении путем замены самоинвертирующих процедур, используемых в АШСС, на предпочтительный набор процедур, обеспечивающих лучшее смешивание. Это реализуется путем ввода второго прогона с использованием другой таблицы (t2box). В этой ситуации имеется два значения tbox (), полученных из разных таблиц равной значимости, которые служат для маскировки друг друга.
Еще одна проблема АШСС состоит в том, что информацию, полученную при анализе текстов разной длины, как правило, можно объединить. Использование второй критичной записи tbox () в БШПД зависит от длины сообщения и делает объединение анализа текстов разной длины менее возможным.
Третья проблема АШСС заключается в неполном смешивании записей верхнего буфера. Последние n/2 байтов открытого текста шифруются путем простого прибавления одного значения tbox () и вычитания другого значения, причем этот промежуточный этап влияет только на первую половину байтов. Различие между зашифрованным и открытым текстом представляет собой различие между двумя значениями tbox (). В БШПД эта третья проблема решается за счет осуществления пяти прогонов по данным вместо трех. Смешивание, выполняемое в АШСС только в среднем прогоне, выполняется во втором и четвертом прогонах, в которых данные смешиваются от конца буфера по направлению к его началу. Средний прогон в АШСС также гарантирует изменение по меньшей мере некоторых байтов, чтобы не позволить расшифровать третий прогон. В БШПД эта цель достигается в среднем прогоне путем выполнения зависимого от ключа преобразования буфера таким образом, что, по меньшей мере, один байт остается неизменным.
Четвертый недостаток АШСС заключается в отсутствии шифрования младшего разряда (МР) первого байта. Многократное использование tbox (0) и фиксированной инверсии МР на втором этапе АШСС приводит к тому, что МР первого байта шифрованного текста является просто инверсией МР первого байта открытого текста. В БШПД эта четвертая проблема решается с помощью зависимого от ключа изменения буфера во время среднего прогона, что делает МР первого байта непредсказуемым в буферах длиной два байта или больше.
Пятый недостаток АШСС состоит в том, что эффективный размер ключа составляет не 64, а 60 бит. Каждый ключ, как таковой, эквивалентен 15 другим. В БШПД увеличено число табличных поисков и уменьшено число арифметических операций, что делает все 64 бита ключа старшими разрядами.
И наконец, функция tbox () в АШСС может быть эффективно решена по методу пересечения в середине. После получения четырех значений tbox () можно осуществить решение с требованиями по времени и пространству порядка 2^30, независимо от состава таблицы СШРА. В БШПД эта проблема решается несколькими способами. Конструкция функции tbox () восстанавливает два неиспользованных бита ключа. Повторение комбинации с, по меньшей мере, 8 битами шифровального ключа в начале и конце tbox () означает, что минимальное вычисление и пространство должны быть увеличены на восемь бит. Поскольку имеется две стороны в каждой таблице и две разные таблицы, минимальная сложность должна быть увеличена на два других бита, что приведет к минимальной потребности в пространстве и времени порядка 2^2. Кроме того, решение АШСС по методу пересечения в середине требует восстановления, по меньшей мере, некоторых из записей tbox (). Это значительно усложняется при использовании БШПД, где требуется одновременное решение двух отдельных групп значений tbox (), маскирующих друг друга.
Краткое описание чертежей
В дальнейшем изобретение поясняется описанием примеров его воплощения со ссылкой на прилагаемые чертежи, на которых
фиг.1 изображает структурную схему системы шифрования согласно изобретению,
фиг.2 изображает алгоритм примерного варианта способа шифрования блока знаков согласно изобретению,
фиг.3 иллюстрирует программу "С", в которой реализован примерный вариант способа шифрования блока знаков,
фиг.4 - примерный вариант t1box,
фиг.5 - примерный вариант t2box.
Подробное описание предпочтительных вариантов реализации изобретения
Изображенный на фиг.1 примерный вариант реализации изобретения состоит из первой станции 1000, которая шифрует данные для радиопередачи на вторую приемную станцию 2000. Первая станция 1000 может быть удаленной станцией, ведущей передачу в сторону второй станции 2000, которая может быть базовой станцией. Альтернативно, первой станцией 1000 может быть базовая станция, ведущая передачу в сторону второй станцию 2000, которая может быть удаленной станцией. По всей вероятности, обе эти станции имеют средства шифрования и дешифрования, а также средства передачи и приема, однако на упрощенной схеме системы на фиг.1 показаны только элементы, необходимые для реализации данного изобретения. Кроме того, специалистам будет понятно, что преимущества изобретения не ограничены только областью радиосвязи и могут быть легко применены в любой ситуации, где требуется передавать засекреченные данные по какой-либо среде.
Как видно на фиг.1, память 10, содержащая данные, необходимые для шифрования в соответствии с алгоритмом БШПД, воплощающим данное изобретение, соединена с процессором 20. В данном примерном варианте процессор 20 представляет собой относительно простой 8-разрядный микропроцессор, способный выполнять команды, хранимые в коде БШПД 19. Процессор 20 содержит арифметико-логическое устройство (АЛУ, не показан на чертеже), способное выполнять простые 8-разрядные операции, такие как побитовое исключающее ИЛИ (обозначаемое символом ⊕), сложение и вычитание целых чисел и т.п. Процессор 20 также выполнен с возможностью выполнения общих команд в процессе выполнения программы и загрузки, и сохранения значений из памяти, такой как память 10. Специалистам будет понятно, что эти требования довольно минимальные, что делает изобретение вполне пригодным для применения в тех ситуациях, где требования к размеру и/или стоимости делают желательным использование простых микропроцессоры, например, в портативных устройствах. Понятно, что изобретение может быть реализовано и с применением более мощных микропроцессоров.
Память 10 содержит таблицы t1box 12 и t2box 14, шифровальный ключ 16 и код 19 (код БШПД), подлежащий выполнению. Данные для шифрования вводятся в процессор 20, который сохраняет эти данные в памяти 10 в участке, называемом данные 18. Несмотря на то что на фиг.1 все эти элементы показаны в виде одного запоминающего устройства, следует понимать, что можно использовать несколько запоминающих устройств. В предпочтительном варианте таблицы 12 и 14, а также код БШПД 19 хранятся в энергонезависимой памяти, такой как ЭСППЗУ или флэш-память. Нет необходимости делать эти части памяти записываемыми.
Шифровальный ключ 16 можно сформировать с помощью ряда средств, хорошо известных в данной области. Одним из простых вариантов может быть ключ 16 в энергонезависимой памяти, который программируется в момент активизации станции для обслуживания. В этом примерном варианте ключ 16 формируется и изменяется в соответствии с протоколом, описанным в упомянутом выше стандарте EIA/TIA/IS-54-B.
Подлежащие шифрованию данные 18 запоминаются в оперативном запоминающем устройстве (ОЗУ). Шифрование будет выполняться "на месте", что означает, что те же участки памяти, которые хранят незашифрованные данные в начале процедуры, будут также хранить их промежуточные значения и окончательные зашифрованные данные.
Данные 18 шифруются в процессоре 20 в соответствии с кодом БШПД 19 с использованием t1box 12, t2box 14 и шифровального ключа 16. Процесс шифрования будет подробно описан ниже.
Зашифрованные данные 18 передаются процессором 20 в передатчик 30, где они модулируются, усиливаются и преобразуются с повышением частоты для передачи с антенны 40. Антенна 50 принимает данные и передает их в приемник 60, где эти данные преобразуются с понижением частоты, усиливаются, демодулируются и передаются а процессор 70. В данном примерном варианте используется формат радиосвязи между двумя станциями, показанными на фиг.1, описанный в "Стандарте совместимости подвижной станции с базовой станцией для двухрежимной широкополосной сотовой системы с расширенным спектром" TIA/EIA/IS-95-A. Использование методов МДКР в системе связи с множественным доступом, такой как радиотелефонная система, описано в патенте США 4901307 на изобретение "Система связи с множественным доступом и расширенным спектром, с использованием спутниковых или наземных ретрансляторов", принадлежащем заявителю настоящей заявки и упоминаемом здесь для сведения. Использование методов МДКР в системе с множественным доступом описано в патенте США 5103459 на изобретение "Система и способ для формирования сигналов в сотовой телефонной системе МДКР", также принадлежащей заявителю данного изобретения и упоминаемой здесь для сведения.
Процессор 70, к которому предъявляются те же требования, что и к процессору 20, подсоединен к памяти 80. Память 80 состоит из блоков памяти 82, 84, 86, 88 и 89, которые аналогичны блокам памяти 12, 14, 16, 18 и 19. Процессор 70 сохраняет зашифрованные данные в памяти 88 данных. Ключ 86 определяется так же, как ключ 16, описанный ранее. Таблицы 82 и 84 идентичны таблицам 12 и 14. Поскольку обработка данных в настоящем изобретении осуществляется самоинвертируемым способом, код БШПД 89, идентичный коду БШПД 19, выполняется в процессоре 70 вместе с t1box 82, t2box 84 и ключом 86 на зашифрованных данных так же, как это делалось в процессе шифрования данных 18. Как и ранее, обработка данных выполняется "на месте", в результате чего данные 88 становятся дешифрованными данными. Процессор 70 извлекает дешифрованные данные из памяти 80 и передает их для последующего использования через выход данных. В этом примерном варианте результирующие данные будут использованы в процедурах аутентификации, описанных в EIA/TIA/IS-54-B.
На фиг.2 показан алгоритм выполнения способа процессорами 20 и 70 вместе с ранее описанными элементами 10 и 80 памяти соответственно. Как упоминалось ранее, процесс шифрования является самоинвертируемым, что означает, что процесс дешифрования аналогичен процессу шифрования. Поэтому подробно будет описан только процесс шифрования. В процессе дешифрования блоки шифрования по фиг.1 будут заменены аналогичными блоками дешифрования, как отмечалось выше.
Блок 99 иллюстрирует начало процесса шифрования. Группа знаков, обозначенная buf [], используется для описания подлежащих шифрованию знаков, записанных в памяти 18 данных. Переменная n означает длину подлежащего шифрованию сообщения, выраженную в виде числа знаков. Как указывалось ранее, одно из усовершенствований, обеспечиваемых процессом БШПД, заключается в том, что выполняется пять прогонов шифрования. Каждый из этих прогонов заключен в рамку, образованную штриховыми линиями, и обозначен от 1 до 5, чтобы можно было легко различить прогоны. Каждый прогон имеет заметные сходства и различия. В прогонах 1, 3 и 5 используется таблица t1box 12 и процесс идет от начала буфера к концу. В прогонах 2 и 4 используется таблица t2box 14 и процесс идет от конца буфера к его началу. Свойство самоинвертирования в БШПД обеспечивается тем, что прогон 3 является самоинвертируемым, прогон 1 является инверсией прогона 5 и прогон 2 является инверсией прогона 4.
В предпочтительном варианте прогоны выполняются в противоположных направлениях. В альтернативных вариантах прогоны могут идти в одном и том же направлении, при этом в чередующихся прогонах используются одни и те же или разные таблицы (повторное использование одной и той же таблицы в нескольких прогонах повышает защиту шифрования, но не настолько, как при использовании разных таблиц). Еще одной альтернативой, которую можно использовать в комбинации с любым прогоном, является ввод дополнительных прогонов. В ситуации, когда прогоны выполняются в одном и том же направлении, модификации в первой записи буфера более предсказуемы, но предсказуемость снижается с каждой следующей модификацией, выполняемой далее по буферу. Когда используются переменные противоположные направления прогонов, модификация в первом байте буфера вполне предсказуема. Однако модификация этого же байта во втором прогоне зависит от всех байтов в буфере, что делает ее гораздо менее предсказуемой. Аналогичным образом, модификация последнего байта в буфере зависит от всех байтов в буфере во время первого прогона, а более предсказуемое изменение делается во втором. Поскольку предсказуемость изменения распределяется более равномерно, если использовать прогоны в противоположных направлениях, то это гораздо предпочтительнее, чем использование многократных прогонов в одном и том же направлении. Следует отметить, что прогон 3 реально не имеет направления, поскольку внесенное изменение будет идентичным в любом случае.
В каждом прогоне используется функция, tbox (). Именно в эту функцию вводится ключ 16. Параметры, передаваемые в функцию tbox (), состоят из таблицы объемом 256 байтов, которая представляет собой переданную t1box 12 или t2box 14, и индекса, обозначенного tv. В данном примерном варианте tbox () определяется как
где k0-k7 означает восемь 8-битных сегментов, которые при сцеплении образуют 64-битный ключ 16,
В [х] - х-тый 8-разрядный элемент матрицы В,
⊕ - побитовая операция исключающее ИЛИ,
+ - сложение по модулю 256.
В альтернативном варианте, если ключ определенной длины обеспечивает шифрование, признаваемое слишком сильным, силу ключа можно искусственно ограничить без изменения его длины путем изменения функции tbox (). Например, 64-битный ключ можно искусственно ограничить до 40 бит, используя 64-битный ключ таким образом, чтобы он находился в классе эквивалентности 2^24 других, но при этом гарантируют, чтобы любое битовое изменение в ключе давало другой результат. Следующее определение tbox () демонстрирует изменение, рекомендуемое для эффективного преобразования 64-битного ключа в 40-битный ключ:
где k0-k7 означает восемь 8-битных сегментов, которые после сцепления образуют 64-битный ключ 16,
В [х] - х-тый 8-битный элемент матрицы В,
⊕ - побитовую операцию исключающее ИЛИ,
+ - сложение по модулю 256.
Функция tbox () разработана таким образом, что каждая из промежуточных операций является перестановкой, а это означает, что каждый ввод имеет взаимно-однозначное соответствие с результатом. В примерном варианте используются операции сложения по модулю 256 и логическое исключающее ИЛИ. Если входное значение, переданное в tbox (), является перестановкой и табличный поиск - тоже, то использование этих функций гарантирует, что результат tbox () будет также взаимно-однозначной функцией. Иными словами, функция tbox () в целом гарантированно является перестановкой, если таковой является также и переданная в нее таблица. Этого не наблюдается в АШСС, где этапы в функции tbox () не являются взаимно-однозначными. Следовательно, если бы даже таблица СШРА в АШСС, которая не является перестановкой, была заменена таблицей, являющейся перестановкой, результат tbox () все равно не был бы перестановкой. В БШПД любой выбор взаимно однозначных функций для объединения материала ключа в целях формирования окончательной перестановки будет приемлемым. Одним из таких методов является данный примерный вариант. Специалисты смогут легко найти другие альтернативные метолы, не выходящие за рамки данного принципа перестановки. В функции tbox () можно альтернативно использовать промежуточные функции, в которых не сохраняется взаимно-однозначное соответствие результата, но их результаты будут ниже оптимальных.
Следующее усовершенствование, включенное в определение tbox (), состоит в том, что некоторые из битов ключа используются как в начале, так и в конце. В данном примерном варианте используется ключевой байт k0, но в альтернативных вариантах можно использовать любые ключевые биты и получить те же преимущества. Использование одного и того же значения позволяет исключить решение по методу пересечения в середине. Отсутствие повторного использования некоторой информации ключа как в начале, так и в конце позволяет прямое, хотя и сложное с точки зрения вычислений получение ключа из небольшого числа значений функции tbox (). При таком повторном использовании таблицы, используемые при попытках нарушения защиты шифрования, требуют гораздо больше пространства, а вычисления, необходимые для нахождения решения, должны быть намного экстенсивнее.
В примерном варианте БШПД подробно описывается использование функции tbox () вместе с двумя таблицами t1box и t2box. Полученные результаты являются зависимыми от ключа перестановками возможных входных данных. Но поскольку значения функции зависят только от ключа, а не от данных, можно альтернативно предварительно вычислить эту функцию для 256 возможных входных данных и двух возможных таблиц, сохранив результаты в памяти. Следовательно, переоценку функции может заменить табличным поиском. Специалистам в данной области будет понятно, что эти два способа функционально эквивалентны и что при применении данного варианта изобретения можно идти на компромисс, выбирая между временем и пространством. Эквивалентная альтернатива заключается в том, чтобы начать с таблиц, инициализированных с перестановки 256 возможных входных данных, и выполнить зависимую от ключа перетасовку этих таблиц при инициализации этого ключа. Тогда во время последующего шифрования будет с равным эффектом использоваться работа с индексной таблицей вместо текущих обращений к tbox ().
Таблицы t1box и t2box являются строгими перестановками, где ни одна из записей в таблице не равна своему индексу. Эта строгость гарантирует, что не существует ключа, который был бы слабее, чем любой другой ключ, что позволяет промежуточному значению при вычислении tbox () оставаться неизменным. Как было сказано ранее при описании функции tbox (), важно, чтобы эти таблицы были перестановками. Если бы таблицы не были перестановками, то после табличного поиска в функции tbox () возникали бы некоторые значения, которые не могли бы быть результатом. Эти невозможные значения позволили бы исключить отгадывание возвратных значений из tbox () и частей ключа, что значительно уменьшило бы работу по отгадыванию 64-разрядного ключа. В альтернативных вариантах можно использовать таблицы, не являющиеся перестановками, но такое шифрование будет хуже оптимального.
Любая форма криптографического анализа АШСС должна начинаться с определения значений функции tbox (). Полный анализ, где известны все результаты для 256 возможных входных данных, позволяет применять АШСС, даже не зная начального ключа. Однако этот ключ можно восстановить, зная всего четыре разных значения функции. Поэтому в БШПД придается особое значение маскировке результатов tbox () другими результатами, в частности значением tbox(O). Предусмотрен ряд альтернатив для выполнения этой маскировки. В предпочтительном варианте используется вторая отличная таблица t2box и добавочная пара прогонов, каждый из которых выполняется в противоположном направлении. Любая из этих трех модификаций или их подкомбинаций позволит в определенной степени решать проблему. Однако самый высокий уровень защиты обеспечивает комбинация всех трех модификаций.
В предпочтительном варианте в прямом и обратном прогонах используются разные таблицы t1box и t2box в совокупности с функцией tbox (). Это делается таким образом, чтобы при криптографическом анализе потребовалось раскрыть не одну, а две вспомогательные группы значений функции. Поскольку прогоны имеют тенденцию к взаимной маскировке, две таблицы обеспечивают оптимальную защиту. Можно предусмотреть альтернативные варианты, в которых используется только одна таблица. Хотя такие способы все еще надежны, их надежность ниже, чем при использовании двух таблиц.
Прогон 1 идет от блока 99 к блоку 102, где переменная v и индекс буфера i инициализируются с нуля. Затем в блоке 104 каждый знак buf [i] модифицируется путем прибавления к нему результата функции вызов tbox (t1box, v⊕i). Переменная v затем обновляется в операции исключающее ИЛИ над ней и новым значением buf [i]. После этого увеличивается индекс i буфера. В блоке 106, если i<n, выносится решение, что прогон не закончен, и процесс возвращается к блоку 104. После изменения всех знаков согласно блоку 104, i будет равно n и прогон 1 будет завершен. Следует отметить, что знаки модифицируются, начиная с buf [0] в направлении конца, buf [n-1].
Прогон 2 идет от блока 106 к блоку 202, где переменная v инициализируется на значении n, а индекс буфера i инициализируется на значении n-1. Затем в блоке 204 каждый знак buf [i] модифицируется путем прибавления к нему результата функции вызов tbox (t2box, v⊕i). Затем переменная v обновляется с помощью операции исключающее ИЛИ над ней и новым значением buf [i]. Индекс буфера i уменьшается. В блоке 206, если i≥0, выносится решение, что прогон не закончен, и процесс возвращается в блок 204. После модификации всех знаков согласно блоку 204 i будет равно -1 и прогон 2 будет закончен. Следует отметить, что в отличие от прогона 1 знаки модифицируются, начиная с buf [n-1], процесс идет в направлении начала, buf [0], и используется таблица t2box 14 вместо таблицы t1box 12.
Прогон 3 начинается в блоке 302. Индекс i буфера инициализируется с нуля. Переменная v в этом прогоне не используется. Затем в блоке 304 каждый знак buf [i] модифицируется с помощью операции исключающее ИЛИ над ним и результатом функции вызов tbox (t1box, i+1). Затем увеличивается индекс i буфера. В блоке 306, если i<n, выносится решение, что прогон не закончен, и процесс возвращается в блок 304. После модификации всех знаков согласно блоку 304 i будет равно n и прогон 3 будет закончен. Следует отметить, что, как и в прогоне 1, знаки модифицируются, начиная с buf [0] по направлению к концу, buf [n-1], и используется таблица tibox 12. Как указывалось выше, направление прогона 3 не играет роли, так как при любом направлении достигается идентичный результат.
В прогоне 3 с каждой записью buf [0] суммируется другой результат из tbox (). Так как результаты из tbox () образуют перестановку, максимум только одно такое значение может быть нулем. Будет или не будет нуль, зависит от ключа. В БШПД изменение в буфере зависит от ключа и его очень трудно предсказать. В среднем, шанс того, что одно из значений будет нулем, равен n/256, где n - длина буфера. Для обеспечения шифрования достаточно любого самоинвертируемого, зависимого от ключа или от данных изменения, которое гарантирует, что значения в буфере будут изменены. Это усовершенствование БШПД имеет большую важность, так как в АШСС оставшиеся без изменения значения приводят к случаям, когда алгоритм вообще не шифрует.
Прогон 4 идет от блока 306 к блоку 402, где v инициализируется на значении n, а индекс буфера i инициализируется на значении n-1. Затем в блоке 404 временной переменной t назначается значение, возвращенное функцией вызов tbox (t2box, v⊕i). Переменная v обновляется с помощью операции исключающее ИЛИ над ней и текущим значением buf [i]. Каждый знак buf [i] модифицируется путем вычитания из него значения временной переменной t. Затем уменьшается индекс буфера i. В блоке 406, если i≥0, выносится решение, что прогон не завершен, и процесс возвращается к блоку 404. После изменения всех знаков согласно блоку 404 i будет равно -1 и прогон 4 будет завершен. Следует отметить, что подобно прогону 2 знаки модифицируются, начиная с buf [n-1] по направлению к началу, buf [0], и используется таблица t2box 14.
Прогон 5 идет от блока 406 к блоку 502, где переменная v и индекс i буфера инициализируются на нулевом значении. Затем в блоке 504 временной переменной t назначается значение, возвращенное функцией вызов tbox (t1box, v⊕i). Переменная v модифицируется с помощью операции Исключающее ИЛИ над ней и текущим значением buf [i]. Затем каждый знак buf [i] модифицируется путем вычитания из него значения временной переменной t. Уменьшается индекс i буфера. В блоке 506, если i<n, выносится решение, что прогон не закончен, и процесс возвращается в блок 504. После изменения всех знаков согласно блоку 504 i будет равно n и прогон 5 будет закончен. Следует отметить, что подобно прогонам 1 и 3 знаки модифицируются, начиная с buf [n-1] в направлении начала, buf [0], и используется таблица t1box 12.
Далее переходим к блоку 600. Теперь шифрование закончено. Buf [] теперь содержит зашифрованные знаки для засекреченной передачи.
Программа "С", реализующая описанную выше операцию, показана на фиг.3. Таблица t1box 12 для программы "С" показана на фиг.4. Таблица t2box 14 для программы "С" показана на фиг.5.
Представленное выше описание предпочтительных вариантов реализации изобретения позволит любому специалисту в данной области осуществить или использовать изобретение. Для специалистов будут очевидны разные модификации этих вариантов, а описанные основные принципы могут быть применены в других вариантах без использования творческих усилий. Поэтому изобретение не ограничено описанными вариантами, а имеет самый широкий объем притязаний в соответствии с описанными принципами и существенными признаками.
Claims (52)
1. Способ преобразования совокупности сигналов сообщения, представляющей сообщение для передачи по системе связи, заключающийся в том, что подлежащие шифрованию данные запоминают в буфере памяти и шифрование выполняют таким образом, что участки буфера памяти, которые хранят незашифрованные данные в начале процедуры шифрования, также хранят их промежуточные значения и окончательные зашифрованные данные, причем в процессе шифрования осуществляют пять прогонов шифрования в соответствии с кодом блочного шифрования с переменной длиной с использованием первой и второй таблиц шифрования и шифровального ключа, осуществляют первый прогон шифрования одного из совокупности сигналов сообщения в соответствии с первым преобразованием по шифровальному ключу, осуществляют второй прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным преобразованием по шифровальному ключу, осуществляют третий прогон шифрования одного из совокупности сигналов сообщения в соответствии с самоинвертирующим преобразованием, при котором изменяют, по меньшей мере, одно из совокупности сигналов сообщение, осуществляют четвертый прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным инверсным преобразованием по шифровальному ключу, которое является инверсией одного дополнительного преобразования по шифровальному ключу, осуществляют пятый прогон шифрования одного из совокупности сигналов собщения в соответствии с первым инверсным преобразованием по шифровальному ключу, которое является инверсией первого преобразования по шифровальному ключу.
2. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с упомянутой первой таблицей шифрования и в упомянутом первом направлении.
3. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, второй прогон шифрования выполняют в соответствии с упомянутой первой таблицей, причем каждую из дополнительных модификаций выполняют в переменном направлении.
4. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с, по меньшей мере, второй таблицей шифрования и в упомянутом первом направлении.
5. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с, по меньшей мере, второй таблицей шифрования, причем каждую из дополнительных модификаций выполняют в переменном направлении.
6. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с, по меньшей мере, второй таблицей шифрования.
7. Способ по п.1 по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования, а второй прогон шифрования выполняют в соответствии с упомянутой первой таблицей шифрования.
8. Способ по п.1, по которому первый прогон шифрования выполняют в первом направлении, а второй прогон шифрования выполняют в, по меньшей мере, противоположном направлении.
9. Способ по п.1, по которому первый прогон шифрования выполняют в первом направлении, а второй прогон шифрования выполняют в упомянутом первом направлении.
10. Способ по п.1, по которому первая и вторая таблицы шифрования являются перестановками.
11. Способ шифрования данных, по которому осуществляют модификацию данных, используя части шифровального ключа, для обеспечения модифицированного значения, и осуществляют дополнительную модификацию модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.
12. Способ по п.11, по которому при осуществлении модификации объединяют данные с первой частью шифровального ключа для обеспечения ключевого значения, осуществляют нелинейную операцию на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования, при этом это значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования.
13. Способ по п.12, по которому таблица значений шифрования содержит строгие перестановки.
14. Способ по п.13, по которому таблица значений шифрования содержит 256 вводов и значения шифрования являются восьми битовыми строгими перестановками.
15. Способ по п.11, по которому модификация данных включает рекурсивное объединение данных с частью шифровального ключа для обеспечения значения индекса таблицы значений ширования и извлекают закодированное значение из таблицы значений шифрования, соответствующее упомянутому значению индекса.
16. Способ по п.11, по которому шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.
17. Способ по п.15, по которому шифровальный ключ содержит восемь неперекрываемых частей и по которому при осуществлении модификации данных объединяют данные с первой частью шифровального ключа для получения первого значения индекса, извлекают первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяют первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекают второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяют второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекают третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяют третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекают четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяют четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекают пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяют пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекают шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяют шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекают седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяют седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса, извлекают восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
18. Способ по п.17, по которому шифровальный ключ содержит 64 бита и по которому упомянутые части шифровального ключа содержат восемь битов.
19. Способ по п.15, по которому шифровальный ключ содержит восемь неперекрываемых частей и по которому при осуществлении модификации данных выполняют булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекают первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняют булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекают второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняют булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекают третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняют булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекают четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняют булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекают пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняют булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекают шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняют булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекают седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняют булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса, извлекают восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
20. Способ по п.19, по которому булевы операции содержат побитовую операцию исключающее ИЛИ и операцию сложения по модулю 256.
21. Способ по п.17 или 19, по которому при выполнении дополнительной модификации модифицированного значения, используя по меньшей мере одну из упомянутых частей шифровального ключа, объединяют восьмое замещенное значение с по меньшей мере одной из восьми частей шифровального ключа.
22. Способ по п.17 или 19, по которому выполняют дополнительную модификацию модифицированного значения, используя по меньшей мере одну из упомянутых частей шифровального ключа, в соответствии с первой частью шифровального ключа.
23. Устройство связи для передачи данных, содержащее память для хранения шифровального ключа, процессор для извлечения частей шифровального ключа из памяти и модификации данных с использованием упомянутых частей шифровального ключа в первую очередь для получения модифицированного значения и выполнения дополнительной модификации модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.
24. Устройство по п.23, в котором память хранит таблицу значений шифрования, при этом значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования, и процессор объединяет данные с частью шифровального ключа для получения ключевого значения и далее обеспечивает выполнение нелинейной операции на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования.
25. Устройство по п.24, в котором таблица значений шифрования содержит строгие перестановки.
26. Устройство по п.25, в котором таблица значений шифрования содержит 256 вводов и значения шифрования являются восьмибитовыми строгими перестановками.
27. Устройство по п.23, в котором шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.
28. Устройство по п.23, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор объединяет данные с первой частью шифровального ключа для получения первого зачения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяет первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяет второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяет третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяет четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяет пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяет шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяет седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
29. Устройство по п.26, по которому шифровальный ключ содержит 64 бита и в котором упомянутые части шифровального ключа содержит восемь битов.
30. Устройство по п.24, в котором шифровальный ключ содержит восемь неперекрываемых частей, и процессор выполняет булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняет булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняет булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняет булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняет булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняет булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняет булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняет булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
31. Устройство по п.30, в котором булевы операции содержат побитовую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ и операцию сложения по модулю 256.
32. Устройство по п.23, которое далее содержит передатчик для передачи зашифрованной версии упомянутых данных.
33. Устройство по п.23, которое является беспроводной базовой станцией.
34. Устройство по п.23, которое является беспроводной удаленной станцией.
35. Устройство связи для приема зашифрованных данных, содержащее память для хранения шифровального ключа и процессор для извлечения частей шифровального ключа из памяти и модификации данных с использование упомянутых частей шифровального ключа в первую очередь для получения модифицированного значения и выполнения дополнительной модификации модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.
36. Устройство по п.35, в котором память хранит таблицу значений шифрования, при этом значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования, и процессор объединяет данные с первой частью шифровального ключа для получения ключевого значения и далее обеспечивает выполнение нелинейной операции на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования.
37. Устройство по 36, в котором таблица значений шифрования содержит строгие перестановки.
38. Устройство по п.36, в котором таблица значений шифрования содержит 256 вводов и значения шифрования являются восьмибитовыми строгими перестановками.
39. Устройство по п.36, в котором шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.
40. Устройство по п.36, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор объединяет данные с первой частью шифровального ключа для получения первого зачения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяет первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяет второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяет третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяет четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяет пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяет шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяет седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
41. Устройство по п.38, по которому шифровальный ключ содержит 64 бита и упомянутые части шифровального ключа содержат восемь битов.
42. Устройство по п.35, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор выполняет булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняет булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняет булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняет булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняет булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняет булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняет булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняет булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.
43. Устройство по п.42, в котором булевы операции содержат побитовую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ и операцию сложения по модулю 256.
44. Устройство по п.35, которое далее содержит приемник для приема зашифрованной версии упомянутых данных.
45. Устройство по п.35, которое является беспроводной базовой станцией.
46.Устройство по п.35, которое является беспроводной удаленной станцией.
47. Система связи, содержащая первое устройство связи для модификации данных для передачи, используя части шифровального ключа в первую очередь для обеспечения модифицированного значения, и для дополнительной модификации модифицированного значения, используя по меньшей мере одну из частей шифровального ключа для получения зашифрованных данных, и для передачи этих зашифрованных данных, и второе устройство связи, хранящее ключ, значение которого равно значению шифровального ключа первого устройства связи, и обеспечивающее прием зашифрованных данных, модификацию зашифрованных данных, используя части ключа в первую очередь для получения модифицированного значения, и дополнительную модификацию модифицированного значения, используя по меньшей мере одну из частей ключа, для получения расшифрованной версии упомянутых данных.
48. Способ устранения недостатка в алгоритме шифрования сотового сообщения (АШСС), который появляется при использовании статистических характеристик таблицы секретности и шифрования речи для аутентификации (СШРА) в блоке подстановки, по которому вырабатывают первую перестановочную таблицу, вырабатывают вторую перестановочную таблицу и используют первую и вторую перестановочные таблицы в блоке подстановок в АШСС для вырабатывания первого зачения подстановки и второго значения подстановки, при этом первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.
49. Способ по п.48, по которому используют первую перестановочную таблицу и вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, также используют первую перестановочную таблицу в блоке подстановки при прогоне вперед АШСС и используют вторую перестановочную таблицу в блоке перестановки при обратном прогоне АШСС.
50. Способ по п.48, по которому испольуют первую перестановочную таблицу и вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, также используют вторую перестановочную таблицу в блоке подстановки при прогоне вперед АШСС и используют первую перестановочную таблицу в блоке подстановки при обратном прогоне АШСС.
51. Способ устранения недостатка в алгоритме шифрования сотового сообщения (АШСС), который появляется при использовании статистических характеристик таблицы секретности и шифрования речи для аутентификации (СШРА) в блоке подстановки, по которому используют первую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и используют вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания второго значения подстановки, первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.
52. Устройство для осуществления алгоритма шифрования сотового сообщения (АШСС), содержащая память для хранения первой перестановочной таблицы и второй перестановочной таблицы и команды для осуществления АШСС, и процессор для осуществления АШСС с использованием первой перестановочной таблицы и второй перестановочной таблицы в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, и первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/815,347 US6075859A (en) | 1997-03-11 | 1997-03-11 | Method and apparatus for encrypting data in a wireless communication system |
US08/815,347 | 1997-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU99121330A RU99121330A (ru) | 2001-08-27 |
RU2267227C2 true RU2267227C2 (ru) | 2005-12-27 |
Family
ID=25217529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU99121330/09A RU2267227C2 (ru) | 1997-03-11 | 1998-03-04 | Способ и устройство для шифрования сигналов для передачи |
Country Status (19)
Country | Link |
---|---|
US (6) | US6075859A (ru) |
EP (4) | EP2124378A3 (ru) |
JP (1) | JP4260896B2 (ru) |
KR (3) | KR100929515B1 (ru) |
CN (1) | CN1154293C (ru) |
AR (1) | AR011969A1 (ru) |
AT (1) | ATE466428T1 (ru) |
AU (1) | AU6938898A (ru) |
BR (1) | BR9808232B8 (ru) |
CA (1) | CA2283304C (ru) |
DE (1) | DE69841641D1 (ru) |
ES (1) | ES2343491T3 (ru) |
FI (1) | FI19991876A (ru) |
ID (1) | ID24932A (ru) |
IL (1) | IL131696A0 (ru) |
MY (1) | MY138521A (ru) |
RU (1) | RU2267227C2 (ru) |
WO (1) | WO1998040984A1 (ru) |
ZA (1) | ZA982022B (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2718953C1 (ru) * | 2019-03-11 | 2020-04-15 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ | Передатчик информационной и энергетической скрытности |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075859A (en) * | 1997-03-11 | 2000-06-13 | Qualcomm Incorporated | Method and apparatus for encrypting data in a wireless communication system |
US6266411B1 (en) * | 1997-04-14 | 2001-07-24 | Lucent Technologies Inc. | Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages |
US6418224B1 (en) * | 1997-05-06 | 2002-07-09 | Lucent Technologies Inc. | Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages |
JP4110690B2 (ja) * | 1999-10-18 | 2008-07-02 | ヤマハ株式会社 | データ生成方法、記録装置、記録媒体、および再生装置 |
KR100636111B1 (ko) * | 1999-10-30 | 2006-10-18 | 삼성전자주식회사 | 분실된 이동 단말기에 내장된 데이터 보호 방법 및 이에 관한 기록매체 |
JP2001359165A (ja) * | 2000-06-15 | 2001-12-26 | Mitsubishi Electric Corp | モバイル通信システム |
US6596541B2 (en) | 2000-10-31 | 2003-07-22 | Regeneron Pharmaceuticals, Inc. | Methods of modifying eukaryotic cells |
US20020116450A1 (en) * | 2000-12-01 | 2002-08-22 | Multiscience System Pte Ltd. | Network for information transfer for mobile stations |
US7023997B1 (en) | 2000-12-21 | 2006-04-04 | Cisco Technology, Inc. | Secure messaging communication system |
US6907123B1 (en) | 2000-12-21 | 2005-06-14 | Cisco Technology, Inc. | Secure voice communication system |
US7224801B2 (en) * | 2000-12-27 | 2007-05-29 | Logitech Europe S.A. | Wireless secure device |
JP2002198956A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 通信装置、及びその認証方法 |
AU2003223022A1 (en) * | 2002-04-30 | 2003-11-17 | Carl Alko Meijer | Method for protecting secret key cryptographic schemes |
US7796752B2 (en) * | 2002-11-04 | 2010-09-14 | Marvell International Ltd. | Cipher implementation |
US7234097B1 (en) * | 2003-01-27 | 2007-06-19 | Marvell International Ltd. | Methods of supporting host CRC in data storage systems without RLL coding |
US7475331B1 (en) | 2003-10-07 | 2009-01-06 | Marvell International Ltd. | Data dependent scrambler with improved global constraint |
JP4696449B2 (ja) * | 2004-01-09 | 2011-06-08 | ソニー株式会社 | 暗号化装置およびその方法 |
US8639947B2 (en) * | 2004-06-01 | 2014-01-28 | Ben Gurion University Of The Negev Research And Development Authority | Structure preserving database encryption method and system |
WO2006075869A1 (en) | 2005-01-11 | 2006-07-20 | Samsung Electronics Co., Ltd. | Apparatus and method for ciphering/deciphering a signal in a communication system |
JP4763447B2 (ja) * | 2005-12-19 | 2011-08-31 | 株式会社ソニー・コンピュータエンタテインメント | 認証システム及び認証対象装置 |
DE102006046211A1 (de) * | 2006-09-29 | 2008-04-03 | Siemens Ag | Verfahren und Vorrichtung zum Erstellen eines Kodierschlüssels, sowie Verwendung des Verfahrens und Verarbeitungsmittel zur Verwendung des Kodierschlüssels |
GB2446199A (en) | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
US8290162B2 (en) * | 2006-12-15 | 2012-10-16 | Qualcomm Incorporated | Combinational combiner cryptographic method and apparatus |
US8571188B2 (en) * | 2006-12-15 | 2013-10-29 | Qualcomm Incorporated | Method and device for secure phone banking |
CA2688592C (en) * | 2007-10-01 | 2014-04-15 | Research In Motion Limited | Substitution table masking for cryptographic processes |
SG11201706634WA (en) * | 2015-02-17 | 2017-09-28 | Visa Int Service Ass | Cloud encryption key broker apparatuses, methods and systems |
EP3823322B1 (en) * | 2018-12-20 | 2023-02-15 | Merck Patent GmbH | Methods and systems for preparing and performing an object authentication |
KR20240028660A (ko) | 2022-08-25 | 2024-03-05 | (주)아모레퍼시픽 | 히팅 기능을 갖는 스틱형 제품 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275265A (en) * | 1978-10-02 | 1981-06-23 | Wisconsin Alumni Research Foundation | Complete substitution permutation enciphering and deciphering circuit |
US4901307A (en) | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
US5214704A (en) | 1989-10-04 | 1993-05-25 | Teledyne Industries, Inc. | Nonlinear dynamic substitution devices and methods for block substitutions |
US5003597A (en) * | 1989-12-21 | 1991-03-26 | Xerox Corporation | Method and apparatus for data encryption |
JPH07111336B2 (ja) * | 1990-02-07 | 1995-11-29 | 株式会社東芝 | パターン寸法測定方法及び装置 |
JP3225440B2 (ja) * | 1990-05-18 | 2001-11-05 | アスコム テック エージー | デジタル信号ブロックの変換装置およびその使用方法 |
US5103459B1 (en) | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
US5159634A (en) | 1991-09-13 | 1992-10-27 | At&T Bell Laboratories | Cryptosystem for cellular telephony |
US5220606A (en) * | 1992-02-10 | 1993-06-15 | Harold Greenberg | Cryptographic system and method |
GB9211648D0 (en) * | 1992-06-02 | 1992-07-15 | Racal Datacom Ltd | Data communication system |
US5517567A (en) * | 1994-08-23 | 1996-05-14 | Daq Electronics Inc. | Key distribution system |
US5513245A (en) * | 1994-08-29 | 1996-04-30 | Sony Corporation | Automatic generation of private authentication key for wireless communication systems |
JPH08179690A (ja) * | 1994-12-22 | 1996-07-12 | Nec Corp | プロダクト暗号装置 |
US5594797A (en) * | 1995-02-22 | 1997-01-14 | Nokia Mobile Phones | Variable security level encryption |
US5991407A (en) * | 1995-10-17 | 1999-11-23 | Nokia Telecommunications Oy | Subscriber authentication in a mobile communications system |
US6393270B1 (en) * | 1996-10-11 | 2002-05-21 | Bellsouth Intellectual Property Corp. | Network authentication method for over the air activation |
US6075859A (en) * | 1997-03-11 | 2000-06-13 | Qualcomm Incorporated | Method and apparatus for encrypting data in a wireless communication system |
US6266411B1 (en) * | 1997-04-14 | 2001-07-24 | Lucent Technologies Inc. | Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages |
DE69830646T2 (de) * | 1997-07-29 | 2006-05-11 | Lucent Technologies Inc. | Verfahren und vorrichtung zur verbesserung des cmea algorithmus unter verwendung von verbesserten transformationen |
-
1997
- 1997-03-11 US US08/815,347 patent/US6075859A/en not_active Expired - Lifetime
-
1998
- 1998-03-04 AU AU69388/98A patent/AU6938898A/en not_active Abandoned
- 1998-03-04 CN CNB988032368A patent/CN1154293C/zh not_active Expired - Lifetime
- 1998-03-04 JP JP53977798A patent/JP4260896B2/ja not_active Expired - Lifetime
- 1998-03-04 DE DE69841641T patent/DE69841641D1/de not_active Expired - Lifetime
- 1998-03-04 KR KR1020097001490A patent/KR100929515B1/ko not_active IP Right Cessation
- 1998-03-04 AT AT98915133T patent/ATE466428T1/de not_active IP Right Cessation
- 1998-03-04 CA CA002283304A patent/CA2283304C/en not_active Expired - Lifetime
- 1998-03-04 IL IL13169698A patent/IL131696A0/xx unknown
- 1998-03-04 EP EP20090169042 patent/EP2124378A3/en not_active Withdrawn
- 1998-03-04 BR BRPI9808232-9A patent/BR9808232B8/pt not_active IP Right Cessation
- 1998-03-04 ID IDW991097A patent/ID24932A/id unknown
- 1998-03-04 EP EP10180359A patent/EP2262163A3/en not_active Withdrawn
- 1998-03-04 ES ES98915133T patent/ES2343491T3/es not_active Expired - Lifetime
- 1998-03-04 KR KR1019997008238A patent/KR100618373B1/ko not_active IP Right Cessation
- 1998-03-04 EP EP98915133A patent/EP0966809B1/en not_active Expired - Lifetime
- 1998-03-04 EP EP09168723A patent/EP2120387A3/en not_active Withdrawn
- 1998-03-04 WO PCT/US1998/004799 patent/WO1998040984A1/en active IP Right Grant
- 1998-03-04 RU RU99121330/09A patent/RU2267227C2/ru active
- 1998-03-04 KR KR1020067008447A patent/KR100899964B1/ko not_active IP Right Cessation
- 1998-03-10 MY MYPI98001038A patent/MY138521A/en unknown
- 1998-03-10 ZA ZA982022A patent/ZA982022B/xx unknown
- 1998-03-11 AR ARP980101085A patent/AR011969A1/es unknown
-
1999
- 1999-08-05 US US09/369,382 patent/US6385316B1/en not_active Expired - Lifetime
- 1999-09-02 FI FI991876A patent/FI19991876A/fi not_active Application Discontinuation
-
2002
- 2002-02-21 US US10/081,750 patent/US20020114450A1/en not_active Abandoned
-
2003
- 2003-05-09 US US10/434,749 patent/US6768797B2/en not_active Expired - Fee Related
-
2004
- 2004-03-30 US US10/814,065 patent/US7995751B2/en not_active Expired - Fee Related
-
2011
- 2011-08-09 US US13/206,300 patent/US20120207304A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2718953C1 (ru) * | 2019-03-11 | 2020-04-15 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ | Передатчик информационной и энергетической скрытности |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2267227C2 (ru) | Способ и устройство для шифрования сигналов для передачи | |
US6879689B2 (en) | Stream-cipher method and apparatus | |
JP3902144B2 (ja) | 通信デバイスにより処理される呼におけるメッセージの暗号化方法 | |
JP3466204B2 (ja) | 強化変換を使用する強化cmea用の方法および装置 | |
EP0914732B1 (en) | Methods and apparatus for multiple-iteration cmea encryption and decryption for improved security for wireless telephone messages | |
US6418224B1 (en) | Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages | |
KR100591870B1 (ko) | 인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치 | |
CA2603164C (en) | Method of and apparatus for encrypting signals for transmission | |
WO1999003246A2 (en) | Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages | |
KR100591869B1 (ko) | 무선 전화 메시지들에 대한 보안성을 개선하기 위해 다수의 씨엠이에이 반복을 사용하는 암호화 및 해독화방법 및 무선 전화 | |
Hammad et al. | DLP SPONGE CONSTRUCTION FOR AUTHENTICATED ENCRYPTION |