Шифрование, путем смены мест тетраидов бит

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
XPAHuTEJIb
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 71
Зарегистрирован: 12.07.2006 (Ср) 15:04
Откуда: Новый Уренгой

Шифрование, путем смены мест тетраидов бит

Сообщение XPAHuTEJIb » 28.01.2008 (Пн) 21:52

Добрый день.
Наверное я не первый кто до этого додумался..., хотелось бы услышать Ваши мнения по поводу целесообразности использования такого алгоритма "шифрования".
А если менять не по 4 бита, а, допустим в некоторой последовательности (например:1-8,2-7,3-6,4-5)?

Код: Выделить всё
Public function CodeDecode(Inp as byte) as byte
dim inp16 as string
dim inp02 as string
dim out02 as string
dim Out as byte
dim i as integer

inp16=hex$(inp)
if len(inp16)=1 then inp16="0" & inp16

out02=""
'начинаем со второго тетраида
for i=2 to 1 step -1
  select case mid$(inp16,i,1)
  case "F"
   out02=out02 & "1111"
  case "E"
   out02=out02 & "1110"
  case "D"
   out02=out02 & "1101"
  case "C"
   out02=out02 & "1100"
  case "B"
   out02=out02 & "1011"
  case "A"
   out02=out02 & "1010"
  case "9"
   out02=out02 & "1001"
case "8"
   out02=out02 & "1000"
case "7"
   out02=out02 & "0111"
case "6"
   out02=out02 & "0110"
case "5"
   out02=out02 & "0101"
case "4"
   out02=out02 & "0100"
case "3"
   out02=out02 & "0011"
case "2"
   out02=out02 & "0010"
case "1"
   out02=out02 & "0001"
case "0"
   out02=out02 & "0000"
end select
next

out=0
for i=8 to 1 step -1
out=out+ val(mid$(out02,i,1)) * 2^(8-i)
next

CodeDecode=out
End function


Работает правда медленно...

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 28.01.2008 (Пн) 22:45

Это скорее разновидность шифра простой замены http://ru.wikipedia.org/wiki/%D0%A8%D0% ... 1%80%D1%8F
Криптостойкость на том же уровне

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 30.01.2008 (Ср) 10:03

Работает правда медленно...
Еще бы. Ты ж со строками работаешь. Что мешает работать напрямую с битами? Или матчасть мы не учим, а лезем сразу в криптографию?
А я все практикую лечение травами...

XPAHuTEJIb
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 71
Зарегистрирован: 12.07.2006 (Ср) 15:04
Откуда: Новый Уренгой

Сообщение XPAHuTEJIb » 30.01.2008 (Ср) 20:20

jangle
Мне кажется не совсем "Цезарь"
Вот это приблизительно он:
Код: Выделить всё
q=val(mid$(txt,i,1))+val(mid$(pass,j,1))
if q>255 then q=q-255
out=chr$(q)


Twister
Учителя такие были..., направь на путь истинный :)

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.02.2008 (Пт) 10:52

направь на путь истинный

AND
OR
XOR
NOT
SHL
SHR

Разберись с этими инструкциями (последних двух в VB в чистом виде нет).
А я все практикую лечение травами...


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList