class 행렬암호{
public String 행렬암호_암호화(String 문장){
// ex) STAR
// 두자리씩 구분한다. ST AR
// 숫자로 바꾼다 S=29, T=30, A=11, R=28
// ST를 행렬화 한다
// 1행 2열 행렬로 만든다. ( 29 30 ) ...... A1
// 열쇠 행렬을 준비한다. ( 2 1 ) ..... B1
// ( 1 3 )
// 행렬을 곱한다. A * B = ( 88 119 ) ........ C1
// ST와 마찬가지로 AR 문자도 반복한다.
// 1행 2열 행렬로 만든다. ( 11 28 ) ...... A2
// 열쇠 행렬을 준비한다. ( 2 1 ) ..... B2
// ( 1 3 )
// 행렬을 곱한다. A * B = ( 50 95 ) ...... C2
// C1, C2 를 순서대로 열로 만든다.
// 전송한다.
}
public String 행렬암호_복호화(String 문장){
// 열쇠행렬의 역행렬을 얻는다.
// 역행렬에 A1 또는 A2를 곱한다.
// 그 값이 원래 값이다.
}
}
너무 잘풀리겠다
....차라리 des나 aes공부해서 구현해봐...이건 너무 쉽잔아..