На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> BSCAS
    Все эту тему можно закрывать ::).Так можно разговаривать до бесконечности и толку никакого не будет.Официально шифр носит название BSCAS  :).Вот небольшие тесты:

    ExpandedWrap disabled
      <br> На вход:    0x62 0x62 0x62 0x62 0x62 0x62 0x62 0x62       ("bbbbbbbb")<br> На выходе: 0xF5 0x66 0xF8 0x61 0x60 0x62 0xE1 0x0C<br>

    Это специально для тех кто говорил о частоте повтарения символов и прочую муть. :)  
    А теперь посмотрим что у нас получится если мы изменим один байтик в ключе ::)
    ExpandedWrap disabled
      <br> На вход:    0x62 0x62 0x62 0x62 0x62 0x62 0x62 0x62       ("bbbbbbbb")<br> На выходе: 0x30 0x66 0xF9 0x62 0x70 0x64 0xF5 0x32<br>

    Разница я полагаю чуствуется.Но это так все мелочи.Что касается шифрования не   блока данных а например одного байта. Что ж, тоже не проблема.Дописываем нули  :)
    ExpandedWrap disabled
      <br> На вход:      0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ("A")<br> На выходе :  0xE5 0x4B 0x59 0x05 0x97 0x0B 0x06 0x22 <br>

    Классно правда!?  :D.Так что, парни, счет становится 1:0 в мою пользу.Этот алгоритм вам не взять.И не надо сходу тут делать какие-то высказывания по поводу взлома до конца не вникнув в сам алгоритм.Большинство алгоритмов построены на математике и ломаются с ее же помощью у меня тут ее  как таковой нет :).
     И последнее.Была немного улутшена программная реализация.В частности функция Set_Old_Bits и были повыкинуты ненужные push -и и pop -и  ;D.Оканчательный вариант:
     
    ExpandedWrap disabled
      <br>                                                Copyrights (C) Written by Zveruga,Belarus  Minsk 2003<br>                                                                                                 All rights reserved<br> ;Статус регистров:<br> ;ecx - число входящих блоков к шифрации дешифрации<br> ;edi  -  указатель на ключ<br> ;edx - индекс строк<br> ;ebx - индекс столбцов<br> ;esi  - указатель на входной блок данных<br> ;eax - используется от болды  ;D <br> ;Bit_0              db      0  <br> ;Bit_1              db      0   <br> ;Bit_2              db      0  <br> ;Bit_3              db      0  <br> ;Bit_4              db      0  <br> ;Bit_5              db      0  <br> ;Bit_6              db      0  <br> ;Bit_7              db      0  <br>                                     <br> ;New_Bit_0          db      0  <br> ;New_Bit_1          db      0  <br> ;New_Bit_2          db      0  <br> ;New_Bit_3          db      0  <br> ;New_Bit_4          db      0  <br> ;New_Bit_5          db      0  <br> ;New_Bit_6          db      0  <br> ;New_Bit_7          db      0  <br><br> Right_Offset proc<br> ror byte ptr [esi + edx],01h     ;ротация вправо<br> call Set_Old_Bits                   ;Установка все битов<br> call Vertical_Roter_Up             ;Вертикальная ротация вверх<br> call Set_New_Bits                  ;устанавливаем новые биты<br> ret<br> Right_Offset endp<br> <br> <br> <br> Left_Offset proc<br> rol byte ptr [esi + edx],01h        ;ротация влево<br> call Set_Old_Bits                      ;установка всех битов<br> call Vertical_Roter_Down            ;вертикальное смещение вниз<br> call Set_New_Bits                     ;Устанавливываем новые биты<br> ret<br> Left_Offset endp<br> <br> Set_Old_Bits proc<br> push eax<br> xor eax,eax<br> <br> mov  al,byte ptr [esi]<br> mov Bit_0,0<br> bt   ax,bx<br> adc Bit_0,0<br> <br> mov al,byte ptr [esi + 01h]<br> mov Bit_1,0<br> bt ax,bx<br> adc Bit_1,0<br> <br> mov al,byte ptr [esi + 02h]<br> mov Bit_2,0<br> bt ax,bx<br> adc Bit_2,0<br> <br> mov al,byte ptr [esi + 03h]<br> mov Bit_3,0<br> bt ax,bx<br> adc Bit_3,0<br> <br> mov al,byte ptr [esi + 04h]<br> mov Bit_4,0<br> bt ax,bx<br> adc Bit_4,0<br> <br> mov al,byte ptr [esi + 05h]<br> mov Bit_5,0<br> bt ax,bx<br> adc Bit_5,0<br> <br> mov al,byte ptr [esi + 06h]<br> mov Bit_6,0<br> bt ax,bx<br> adc Bit_6,0<br> <br> mov al,byte ptr [esi + 07h]<br> mov Bit_7,0<br> bt ax,bx<br> adc Bit_7,0<br>   <br> pop eax<br> ret<br> Set_Old_Bits endp<br> <br> <br> Set_New_Bits proc<br> push eax<br> xor eax,eax <br> mov al,byte ptr [esi]                ;Загрузка первого байта из блока<br> <br> cmp New_Bit_0 , 1                   ;Проверка бита <br> je  Set_Bit_0                           ;Да установить<br> btr ax,bx                                ;Сбросить<br> jmp Byte_1                             ;Выход<br> Set_Bit_0:                                <br> bts ax,bx                                ;Установка <br> <br> Byte_1:<br> mov byte ptr [esi],al<br> mov al,byte ptr [esi + 01h]<br> cmp New_Bit_1 , 1<br> je Set_Bit_1<br> btr ax,bx<br> jmp Byte_2<br> Set_Bit_1:<br> bts ax,bx      <br> <br> Byte_2:<br> mov byte ptr [esi + 01h],al<br> mov al,byte ptr [esi + 02h]<br> cmp New_Bit_2 , 1<br> je Set_Bit_2<br> btr ax,bx<br> jmp Byte_3<br> Set_Bit_2:<br> bts ax,bx      <br> <br> Byte_3:<br> mov byte ptr [esi+ 02h],al<br> mov al,byte ptr [esi + 03h]<br> cmp New_Bit_3 , 1<br> je Set_Bit_3<br> btr ax,bx<br> jmp Byte_4<br> Set_Bit_3:<br> bts ax,bx      <br> <br> Byte_4:<br> mov byte ptr [esi + 03h],al<br> mov al,byte ptr [esi + 04h]<br> cmp New_Bit_4 , 1<br> je Set_Bit_4<br> btr ax,bx<br> jmp Byte_5<br> Set_Bit_4:<br> bts ax,bx      <br> <br> Byte_5:<br> mov byte ptr [esi + 04h],al<br> mov al,byte ptr [esi + 05h]<br> cmp New_Bit_5 , 1<br> je Set_Bit_5<br> btr ax,bx<br> jmp Byte_6<br> Set_Bit_5:<br> bts ax,bx      <br> <br> Byte_6:<br> mov byte ptr [esi + 05h],al<br> mov al,byte ptr [esi + 06h]<br> cmp New_Bit_6 , 1<br> je Set_Bit_6<br> btr ax,bx<br> jmp Byte_7<br> Set_Bit_6:<br> bts ax,bx      <br><br><br> Byte_7:<br> mov byte ptr [esi + 06h],al<br> mov al,byte ptr [esi + 07h]<br> cmp New_Bit_7 , 1<br> je Set_Bit_7<br> btr ax,bx<br> jmp Exit<br> Set_Bit_7:<br> bts ax,bx      <br> <br> Exit:<br> mov byte ptr [esi+07h],al<br> pop eax<br> ret<br> Set_New_Bits endp<br> <br> Xor_Blocks proc<br> mov al,byte ptr [esi]             ;операция xor с байтом блока ключа, блок на блок :)<br> xor al,byte ptr [edi]<br> xchg al,[esi]<br> mov al,byte ptr [esi + 01h]<br> xor al,byte ptr [edi + 01h]       <br> xchg al,[esi + 01h]<br> mov al,byte ptr [esi + 02h]<br> xor al,byte ptr [edi + 02h] <br> xchg al,[esi + 02h]<br> mov al,byte ptr [esi + 03h]<br> xor al,byte ptr [edi + 03h] <br> xchg al,[esi + 03h]<br> mov al,byte ptr [esi + 04h]<br> xor al,byte ptr [edi + 04h] <br> xchg al,[esi + 04h]<br> mov al,byte ptr [esi + 05h]<br> xor al,byte ptr [edi + 05h] <br> xchg al,[esi + 05h]<br> mov al,byte ptr [esi + 06h]<br> xor al,byte ptr [edi + 06h]<br> xchg al,[esi + 06h]<br> mov al,byte ptr [esi + 07h]<br> xor al,byte ptr [edi + 07h]  <br> xchg al,[esi + 07h]<br> ret<br> Xor_Blocks endp <br> <br> Deshifr_Down_Offset proc<br> call Set_Old_Bits<br> call Vertical_Roter_Down<br> call Set_New_Bits<br> rol byte ptr [esi + edx],01h<br> ret<br> Deshifr_Down_Offset endp<br> <br> Deshifr_Up_Offset proc<br> call Set_Old_Bits<br> call Vertical_Roter_Up<br> call Set_New_Bits<br> ror byte ptr [esi + edx],01h<br> ret<br> Deshifr_Up_Offset endp<br> <br> Vertical_Roter_Down proc<br> push eax<br> xor eax,eax<br> mov al,Bit_0<br> mov New_Bit_1,al<br> mov al,Bit_1<br> mov New_Bit_2,al<br> mov al,Bit_2<br> mov New_Bit_3,al<br> mov al,Bit_3<br> mov New_Bit_4,al<br> mov al,Bit_4<br> mov New_Bit_5,al<br> mov al,Bit_5<br> mov New_Bit_6,al<br> mov al,Bit_6<br> mov New_Bit_7,al<br> mov al,Bit_7<br> mov New_Bit_0,al<br> pop eax<br> ret<br> Vertical_Roter_Down endp<br> <br> Vertical_Roter_Up proc<br> push eax<br> xor eax,eax<br> mov al,Bit_7<br> mov New_Bit_6,al<br> mov al,Bit_6<br> mov New_Bit_5,al<br> mov al,Bit_5<br> mov New_Bit_4,al<br> mov al,Bit_4<br> mov New_Bit_3,al<br> mov al,Bit_3<br> mov New_Bit_2,al<br> mov al,Bit_2<br> mov New_Bit_1,al<br> mov al,Bit_1 <br> mov New_Bit_0,al<br> mov al,Bit_0<br> mov New_Bit_7,al      <br> pop eax<br> ret<br> Vertical_Roter_Up endp<br> <br> BSCAS_Shifr proc<br> pusha<br> Shifr_Octo_Byte:<br> push edi                           ;Сохранить указател на ключ  <br> push ecx                          ;сахраним число входных блоков <br> <br> xor ebx,ebx                       ;Обнуляем регистры на всякие пожарные<br> xor eax,eax<br> xor edx,edx<br> <br> mov cl,08h                        ;8 блоков подключей <br> Key_Block:<br> push ecx                          ;сохранить число блоков <br> mov cl,08h                        ;число подключей<br> @Loop_Per_Key:                ;цикл по прохаждению подключей<br> push ecx                          ;сохранить число подключей<br> mov al,byte ptr [edi + edx]  ;подключ в al<br> mov cl,08h                        ;пробег по байту<br> @Loop_Per_Byte_Of_Key:<br> bt ax,bx<br> jc _LeftOffset                    ;Бит установлен ? <br> call Right_Offset                 ;Нет не установлен<br> jmp Next_Bit_Of_Key<br> _LeftOffset:<br> call Left_Offset<br> Next_Bit_Of_Key:<br> inc bx                              ;следущий бит ключа   <br> loop @Loop_Per_Byte_Of_Key<br><br> xor ebx,ebx                       ;обнулим индекс столбцов<br> inc edx                            ;увеличим индекс строк<br> pop ecx                           ;восстановим стчечик подключей<br> loop @Loop_Per_Key<br>  <br> call Xor_Blocks                   ;операция xor над блоками<br>      <br> pop ecx                            ;восстановим счетчик блоков<br> xor edx,edx                       ;обнулим индекс строк<br> xor ebx,ebx<br> add edi,08h                       ;переместим указатель на следущий блок ключей<br> loop Key_Block<br>    <br> pop ecx                            ;восстановим число входных блоков<br> pop edi                             ;восстановим указатель на ключ <br> add esi,08h                        ;перейдем к следующему блоку    <br> loop Shifr_Octo_Byte<br> popa      <br> ret<br> BSCAS_Shifr endp<br> <br> BSCAS_Deshifr proc<br> pusha<br> xor eax,eax                          ;очищаем eax,edx,ebx ( мусор нам не нужен :) )<br> xor ebx,ebx<br> xor edx,edx<br> add edi,56                            ;перемещаем указатель на последний блок ключа                      <br> Deshifr_Octo_Byte:<br> push ecx                              ;сохраняем число входных блоков <br> push edi                               ;сохраняем указатель на ключ<br> <br> mov cl,08h                            ;число блоков подключей<br> Deshifr_Loop_Key_Block: <br> push ecx                               ;сохраняем число блоков подключей<br> ;Начальная стадия         -       операции xor шифрованного блока с блоком подключей<br> call Xor_Blocks<br> mov cl,08h                              ;количество подключей в блоке<br> mov dl,07h                              ;начинаем снизу блока подключей <br> Deshifr_Loop_Per_Key:<br> push ecx                                 ;сохраняем количество подключей<br> mov al,byte ptr [edi + edx]         ;подключ   <br> mov cl,08h                               ;пробег по байту <br> mov bl,07h<br> Deshifr_Loop_Per_Byte_Of_Key:<br> bt ax,bx                                   ;Бит установлен ?  <br> jc   _Deshifr_Up_Offset               ;Да установлен<br> call Deshifr_Down_Offset             ;Нет не установлен  <br> jmp _Deshifr_Inc<br> _Deshifr_Up_Offset:<br> call Deshifr_Up_Offset  <br> _Deshifr_Inc:<br> dec  bx                                  ;уменьшаем указатель сталбцов<br> loop Deshifr_Loop_Per_Byte_Of_Key<br><br> xor ebx,ebx                            ;устанавливаем индекс сталбцов в ноль <br> dec edx                                 ;уменьшаем  индекс строк <br> pop ecx                                 ;восстанавливаем количество подключей<br> loop Deshifr_Loop_Per_Key<br>    <br> sub edi,08h                            ;переход к следующему блоку ключей <br> xor edx,edx                            ;устанавливаем индекс строки в ноль<br> pop ecx                                 ;Восстанавливаем количество блоков ключей<br> loop Deshifr_Loop_Key_Block <br>  <br> pop edi                                  ;восстанавливаем указатель на ключ<br> pop ecx                                 ;восстанавливаем количество блоков к дешифрации<br> loop Deshifr_Octo_Byte<br> popa      <br> ret<br> BSCAS_Deshifr endp<br>                                                   ;Автор разрешает использовать данный исходник<br>                                                   ;только при условии указания  авторства<br>
    Сообщение отредактировано: Zveruga -
      ладно с зашифровкой блока разобрался как его теперь расшифровать ?
      в процедуре
      ExpandedWrap disabled
        <br> BSCAS_Deshifr proc <br> pusha <br> xor eax,eax                          ;очищаем eax,edx,ebx ( мусор нам не нужен :) ) <br> xor ebx,ebx <br> xor edx,edx <br> add edi,56                            ;перемещаем указатель на последний блок <br>


      если в edi offset на ключ и ключ я определил как

      key db  'fuck' к чему приведет add edi,56 ?? так что счет становится 99:0 в нашу пользу и Зверюга удаляется переписавать программу так что бы она работала нормально... или приводит куски коду где показывается шифровка дешифровка

        делаю
        ExpandedWrap disabled
          <br>key      db      0<br>block      db      8 dup ('a')<br><br>.code<br>start:      <br>       mov      ecx,1<br>      mov      edi,offset key<br>      mov      esi,offset block       <br>       call      BSCAS_Shifr<br>

        как мне его потом дешифровать ?
          Цитата IX0DeS, 28.03.03, 13:13:18
          ладно с зашифровкой блока разобрался как его теперь расшифровать ?
          в процедуре
          ExpandedWrap disabled
            <br> BSCAS_Deshifr proc <br> pusha <br> xor eax,eax                          ;очищаем eax,edx,ebx ( мусор нам не нужен :) ) <br> xor ebx,ebx <br> xor edx,edx <br> add edi,56                            ;перемещаем указатель на последний блок <br>


          если в edi offset на ключ и ключ я определил как

          key db  'fuck' к чему приведет add edi,56 ?? так что счет становится 99:0 в нашу пользу и Зверюга удаляется переписавать программу так что бы она работала нормально... или приводит куски коду где показывается шифровка дешифровка

          Ключ key db  'fuck'  конечно хорош не спорю  :) .Только он должен быть не 4 байта а 64.Поэтому если хочеш использовать такой ключ предварительно нужно увеличить его размерность до 64 байт
          Неееее 1 : 0 в мою  :P
          байта

            Цитата IX0DeS, 28.03.03, 13:29:58
            делаю
            ExpandedWrap disabled
              <br>key      db      0<br>block      db      8 dup ('a')<br><br>.code<br>start:      <br>       mov      ecx,1<br>      mov      edi,offset key<br>      mov      esi,offset block       <br>       call      BSCAS_Shifr<br>

            как мне его потом дешифровать ?

            ExpandedWrap disabled
              <br> mov esi ,offset Shifr_Text<br> mov edi,offset Key<br> ;в ecx  помещай число  блоков <br> call BSCAS_Deshifr<br> ;Все<br>






              нормально... ключ в 64 байта.... круто... чего скажешь... лосизм... слушай я тут тоже алгоритм придумал а что если в качестве пароля использовать одну из глав из романа 'Преступелене и Наказание'  а чего... алгорит простой xor... ну что ломать будешь ?
              Сообщение отредактировано: IX0DeS -
                продолжаем...
                ExpandedWrap disabled
                  <br> mov  al,byte ptr [esi] <br> mov Bit_0,0 <br> bt   ax,bx <br> adc Bit_0,0 <br>  <br> mov al,byte ptr [esi + 01h] <br> mov Bit_1,0 <br> bt ax,bx <br> adc Bit_1,0 <br>  <br> mov al,byte ptr [esi + 02h] <br> mov Bit_2,0 <br> bt ax,bx <br> adc Bit_2,0 <br>  <br> mov al,byte ptr [esi + 03h] <br> mov Bit_3,0 <br> bt ax,bx <br> adc Bit_3,0 <br>  <br> mov al,byte ptr [esi + 04h] <br> mov Bit_4,0 <br> bt ax,bx <br> adc Bit_4,0 <br>  <br> mov al,byte ptr [esi + 05h] <br> mov Bit_5,0 <br> bt ax,bx <br> adc Bit_5,0 <br>  <br> mov al,byte ptr [esi + 06h] <br> mov Bit_6,0 <br> bt ax,bx <br> adc Bit_6,0 <br>  <br> mov al,byte ptr [esi + 07h] <br> mov Bit_7,0 <br> bt ax,bx <br> adc Bit_7,0 <br><br>

                ты умеешь пользоваться конструкцией loop ?? по моему это в цикле можно написать.... так что давай переписывай нормально прогу свою гыгы  ;D
                Сообщение отредактировано: IX0DeS -
                  Цитата IX0DeS, 28.03.03, 13:40:24
                  нормально... ключ в 64 байта.... круто... чего скажешь... лосизм... слушай я тут тоже алгоритм придумал а что если в качестве пароля использовать одну из глав из романа 'Преступелене и Наказание'  а чего... алгорит простой xor... ну что ломать будешь ?

                  А чем тебе такой ключ не нравится??Ради бога используй хоть 3 хоть 4 байта твае дело.

                    Цитата IX0DeS, 28.03.03, 13:46:37
                    продолжаем...
                    ExpandedWrap disabled
                      <br> mov  al,byte ptr [esi] <br> mov Bit_0,0 <br> bt   ax,bx <br> adc Bit_0,0 <br>  <br> ......  <br> mov al,byte ptr [esi + 07h] <br> mov Bit_7,0 <br> bt ax,bx <br> adc Bit_7,0 <br><br>

                    ты умеешь пользоваться конструкцией loop ?? по моему это в цикле можно написать.... так что давай переписывай нормально прогу свою гыгы  ;D

                    Дааааа.... как говорится : no comments
                      > И не надо сходу тут делать какие-то высказывания по поводу взлома до конца не вникнув в сам алгоритм.

                      Какие высказывания, какой алгоритм... или эта новая фишка описывать принцип работы алгоритма на asm`е. Я конечно понимаю, что ты, как автор этого дивного алгоритма, вжился в него и тебе все очевидно... Просто, если ты хочешь обсуждения алгоритма, а не реализации неизвестно чего на asm`е, будь добр его представить в нормальном подробном однозначно интерпретируемом виде и желательно с пошаговым примером основных моментов. Тебе всеравно придется делать эту работу, если он является таковым, каким ты его представляешь или ты уже сомневаешся ;)
                        и это опять я...
                        задаем себе вопрос? ээ.. назовите одно из основных свойств _хорошего_ алгоритма
                        отвечаем... кто не согласится тут со мной ?

                        любой ключ должен обеспечить одинаковую степень защиты

                        на вход подаем ключ состоящий из 64байт 0xFFh
                        текст для шифрования _fuckoff
                        на выходе получаем...
                        x7Fh,fuckof,x19h те. из восьми букв изменились только две... гыгы ну что крутой алгоритм... все отдыхают, Зверюга уходит опустив голову доделовать алгоритм, счет 99:0 в нашу...  ;D после этого мне дальше уже лень было что-то там считать... да кстати я его чуток переписал еге - с Loop'ами сделал так мне кажется он выглядит меньше :)(такого стиля программироваия я еще давно не видел... детский сад чесс слово)
                        Сообщение отредактировано: IX0DeS -
                          Цитата SVK , 28.03.03, 14:34:48
                          > И не надо сходу тут делать какие-то высказывания по поводу взлома до конца не вникнув в сам алгоритм.

                          Какие высказывания, какой алгоритм... или эта новая фишка описывать принцип работы алгоритма на asm`е. Я конечно понимаю, что ты, как автор этого дивного алгоритма, вжился в него и тебе все очевидно... Просто, если ты хочешь обсуждения алгоритма, а не реализации неизвестно чего на asm`е, будь добр его представить в нормальном подробном однозначно интерпретируемом виде и желательно с пошаговым примером основных моментов. Тебе всеравно придется делать эту работу, если он является таковым, каким ты его представляешь или ты уже сомневаешся ;)

                          SVK я да этого все пытался упорно всем все обьяснить, но почему-то почти никто меня не хотел слушать.
                            Цитата IX0DeS, 28.03.03, 14:37:12
                            любой ключ должен обеспечить одинаковую степень защиты

                            Этот вопрос обсуждался еще в предыдущей теме...
                              да еще забыл твой алгоритм чтото криво кработает...
                              делаю шифровку трех блоков....
                              ExpandedWrap disabled
                                <br>key      db      64 dup (0ffh)<br>block      db      '12345678'<br>      db      '12345678'<br>      db      '12345678'<br>.code<br>start:      <br>       mov      ecx,3<br>      mov      edi,offset key<br>      mov      esi,offset block       <br>      pusha<br>       call      BSCAS_Shifr<br>      popa<br>       call      BSCAS_Deshifr<br>key      db      64 dup (0ffh)<br>block      db      '12345678'<br>      db      '12345678'<br>      db      '12345678'<br>.code<br>start:      <br>       mov      ecx,3<br>      mov      edi,offset key<br>      mov      esi,offset block       <br>      pusha<br>       call      BSCAS_Shifr<br>      popa<br>       call      BSCAS_Deshifr<br>


                              после шифровки
                              block xC5,'234567',x60,xC5,'234567',x60,xC5,'234567',x60
                              каждый блок из 8 байт по моему очень похож на своего соседа :)
                              после дешифровки
                              block x83,'234567',x0B,xC5,'234567',x60,xC5,'234567',x60
                              реализация собственного алгоритма оказалась кривой.... мдя.. может тебе рано придумывать оченб стойкие алгоритмы.. гыгы

                              ;D
                                Цитата SVK , 28.03.03, 14:50:59

                                Этот вопрос обсуждался еще в предыдущей теме...

                                ну дык не обеспечивает же... меняет только первый и последний символ в блоке... ну что тут сказать по поводу алгоритма этого... в Корзину это все там и будем разговаривать  ;D
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1504 ]   [ 15 queries used ]   [ Generated: 5.10.26, 23:51 GMT ]