C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[4131] [만해] 암호화 사람 쥑인당~ 흑흑흑~
만해 [greenuri] 2910 읽음    2002-04-05 23:56
안녕하세요

만해 입니다.

요즘 좀 어려운 프로그램을 하나 맡아서 하게 됐는데요

박사 과정의 선배님의 논문에 들어갈 프로그램을 해야 하는데요

이게 또 암호화라서

흑흑 암호화를 어떻게 하는지 알아야지 몰 하던가 하지

이래저래 막 뒤져 가면서

조금씩 만들어 가고 있는데요

흑흑

완전히 허접이니 쩝~

class TCrypt
{
  public :

    TCrypt()
      {
        Source = "";
        Output = "";
        word1 =  "";
        word2 =  "";
        word3 =  "";
        word4 =  "";
      };
    TCrypt(AnsiString const str)
      {
        TCrypt();
        Source = str;
      };
// 암호화 부분
    void Encode ( AnsiString const source , AnsiString const Key);  //TODO: 암호화함수 :TCrypt
    void Encode ( AnsiString const Key);// TODO : 암호화 함수
    void Encode ( void );
    void GetCryptText (AnsiString & Data);//TODO: 암호문 요구하는 함수
    void SetPlainText (AnsiString const source ); //TODO : 원문을 입력 하는 함수
    void EFuncF ( AnsiString & word, char * const Key );
    void EFuncG ( AnsiString const word, AnsiString Key );
    void EFuncG1( AnsiString const word, AnsiString Key );
    void KeyGen ( AnsiString const key );//TODO: Key 스케쥴링 함수

// 복호화 부분
    void Decode ( AnsiString const source , AnsiString const Key);  // 복호화
    void GetPlainText (AnsiString & Data);// 평문 요구
    void GetKeyIValues(AnsiString* &KeyValues);
    void GetKeyValues(AnsiString* &KeyValues);
    void InitSBox(void);
  private :
    AnsiString Source;
    AnsiString Output;
    AnsiString word1;
    AnsiString word2;
    AnsiString word3;
    AnsiString word4;
    AnsiString Key;
    Data16Word_u key128[11];
    AnsiString XOR ( AnsiString const  Operand1 , AnsiString const Operand2,int const BitLen);
    AnsiString XOR ( AnsiString const  Operand1 , char* const Operand2,int const BitLen);
    char*      XOR ( char* const  Operand1 , char* const Operand2,int const BitLen);
    AnsiString Not ( AnsiString const Operand , int const BitLen);
    char*      Not ( char* const Operand , int const BitLen);
    AnsiString LShift ( AnsiString const Operand , int const Count , int BitLen);
    AnsiString RShift ( AnsiString const Operand , int const Count , int BitLen);
    char*      LShift ( char* const Operand , int const Count , int BitLen);
    char*      RShift ( char* const Operand , int const Count , int BitLen);
    char SBox[256][3];
};

이게 제가 할려는 클래스의 정의 부분인데요

대충 보셔도 알겠지만

주로 사용 하는 데이타형이 char* 하고 AnsiString으로 이리저리 막 혼합해서 쓰고 있어요

그러다 보니 이래저래 메모리 액세스 에러만 막 떠고~

흑흑~

다른 소스는 조금 봤는데

빌더로 된 소스가 없을까요?

DES 알고리즘이 Builder에서 구현 된 소스 있음 좀 주세요~

부탁 드릴꼐요
임양규 [gmpcs93]   2002-04-07 09:31 X
드디어 제가 답을 할때도 있네요...C++ builder resources게시판에 보면..DES구현 소스 있던데요...
임양규 [gmpcs93]   2002-04-07 09:32 X
그리고...대칭키(DES, SEED, AES등)를 구현할때는 수식적으로 복잡하게 처리할 것은 별로 없지만
임양규 [gmpcs93]   2002-04-07 09:32 X
공개키 암호 알고리즘(RSA. ElGamal등)을 구현할때는 수식적으로 아주 복잡한 처리가 많습니다.
임양규 [gmpcs93]   2002-04-07 09:33 X
Handbook of Applied Cryptography라는 책에 구현 알고리즘이 자세하게 나와있습니다...

+ -

관련 글 리스트
4131 [만해] 암호화 사람 쥑인당~ 흑흑흑~ 만해 2910 2002/04/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.