Archive for Desember, 2007
Pembinaan
Yo, boleh saja orang mengatakan bahwa sebagai senior kita harus selalu menindak juniornya yang salah. Yo boleh saja orang mengataakan bahwa sistem yang dijalankan dengan paham kekeluargaan tidak bisa merubah dengan cepat. Yo ga salah kalo orang mengatakan dengan tidak menindak, sang senior dikatakan lembek. Tetapi realita membuktikan lain.
Berbagai perguruan tinggi kedinasan yang memakai sistem “penghancuran” kepada juniornya menyebabkan sang junior trauma kepada senior tersebut. Ketika mereka bertemu didunia kerja, hal ini akan mengakibatkan paham asal bapak senang. Sehingga birokrasi dan tata cara yang benarpun menjadi terabaikan.
Yo mungkin dengan “pembinaan” sang senior merasa lebih dihormati dan merasa tinggi diatas ketakutan juniornya. Akan tetapi sang senior tidak akan memiliki kehormatan didepan juniornya. Apalagi kalau acara “pembinaan” tersebut ditambah dengan acara cari-cari kesalahan. Semakin membuat suatu jarak antara kakak dan adik yang seharusnya berhubungan dekat.
Bagaimana jadinya senior yang semena-mena???? Jawabannya adalah dia diacuhkan oleh juniornya, dibenci, diasingkan oleh sapaan bahkan oleh temu muka. Pendek kata sanga senior tidak punya wibawa lagi dihadapan juniornya. Kenapa kok masih ada yang patuh??? Itu adalah pertanyaan yang sering keluar. Jawabannya karena tidak semua senior seperti itu. Sang junior masih patuh karena menghargai para senior yang berjiwa senior. Bukan senior yang berjiwa “KODOK”. Sehingga yang dihormati adalah nama angkatan, bukan individunya.
Dengan seperti itu masih akankah pola pembinaan senior junior dengan pola “tausiah dengan posisi p****p” masih berlaku??? Masih akan kah malam-malam diwaktu tidur kita “bangunkan” adik adik tercinta untuk diberi ucapan”selamat malam dengan p*k***n”??? Perlu adanya pengkajian ulang jika masih ada yang memakai sistem seperti itu.
<b4s1c-mp5>
Header hills cipher
Sebelumnya ada headernya dulu nih
/*
HILL.H
by jokobayan
e-mail: jokobayan@gmail.com
*/
extern void hill_mono_encrypt(char plain[],char cipher[],char rk[],int a,int k);
extern void hill_mono_decrypt(char plain[],char cipher[],char rk[],int a,int k);
extern void hill_di_encrypt(char plain[],char cipher[],char rk[],int a,int b,int c,int d,int k1,int k2);
extern void hill_di_decrypt(char plain[],char cipher[],char rk[],int a,int b,int c,int d,int k1,int k2);
extern void hill_tri_encrypt(char plain[],char cipher[],char rk[], int a,int b,int c,int d,int e,int f,int g,int h,int i);
extern void hill_tri_decrypt(char plain[],char cipher[],char rk[], int a,int b,int c,int d,int e,int f,int g,int h,int i);
extern void hill_poly_encrypt(char plain[],char cipher[],char rk[],int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4,int d1,int d2,int d3,int d4,int k11,int k12,int k13,int k14,int k21,int k22,int k23,int k24);
extern void hill_poly_decrypt(char plain[],char cipher[],char rk[],int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4,int d1,int d2,int d3,int d4,int k11,int k12,int k13,int k14,int k21,int k22,int k23,int k24);
Moga2 guna!!!!!!
Source Code Hill Cipher
Halo temen-temen MP 2006, nih saya mau bagi2 source code hills buat tugas Mr 3. Inget, yang bikin nih source code Mr.Joko Bayan in 4MP
/*
HILL.C
by jokobayan
e-mail: jokobayan@gmail.com
*/
#include <string.h>
#include <math.h>
#include “MATHMOD.H”
void hill_mono_encrypt(char plain[],char cipher[],char rk[],int a,int k){
int x,y;
unsigned int i,j;
for(i=0;i<strlen(plain);i++){
for(j=0;j<strlen(rk);j++)
if(plain[i]==rk[j])
x=j;
y=mod26(multiply_mod26(a,x)+k);
cipher[i]=rk[y];
}
cipher[strlen(plain)]=”;
}
void hill_mono_decrypt(char plain[],char cipher[],char rk[],int a,int k){
int x,y,n;
unsigned int i,j;
n=regular_mod26(a);
for(i=0;i<strlen(cipher);i++){
for(j=0;j<strlen(rk);j++)
if(cipher[i]==rk[j])
y=j;
x=multiply_mod26(n,(y-k));
plain[i]=rk[x];
}
plain[strlen(cipher)]=”;
}
void hill_di_encrypt(char plain[],char cipher[],char rk[],int a,int b,int c,int d,int k1,int k2){
int x1,x2;
int y1,y2;
unsigned int i,j;
for(i=0;i<strlen(plain);i+=2){
for(j=0;j<26;j++){
if(plain[i]==rk[j])
x1=j;
if(plain[i+1]==rk[j])
x2=j;
}
y1=mod26(multiply_mod26(a,x1)+multiply_mod26(b,x2)+k1);
y2=mod26(multiply_mod26(c,x1)+multiply_mod26(d,x2)+k2);
cipher[i]=rk[y1];
cipher[i+1]=rk[y2];
}
cipher[strlen(plain)]=”;
}
void hill_di_decrypt(char plain[],char cipher[],char rk[],int a,int b,int c,int d,int k1,int k2){
int n,y1,y2;
int x1,x2;
unsigned int i,j;
n=regular_mod26(det_m22_mod26(a,b,c,d));
for(i=0;i<strlen(cipher);i+=2){
for(j=0;j<26;j++){
if(cipher[i]==rk[j])
y1=j;
if(cipher[i+1]==rk[j])
y2=j;
}
x1=multiply_mod26(n,(multiply_mod26(d,(y1-k1))-multiply_mod26(b,(y2-k2))));
x2=multiply_mod26(n,(multiply_mod26(a,(y2-k2))-multiply_mod26(c,(y1-k1))));
plain[i]=rk[x1];
plain[i+1]=rk[x2];
}
plain[strlen(cipher)]=”;
}
void hill_tri_encrypt(char plain[], char cipher[], char rk[], int a,int b,int c,int d,int e,int f,int g,int h,int i){
unsigned int j,k;
int x1,x2,x3;
int y1,y2,y3;
for(j=0;j<strlen(plain);j+=3){
for(k=0;k<26;k++){
if(plain[j]==rk[k])
x1=k;
if(plain[j+1]==rk[k])
x2=k;
if(plain[j+2]==rk[k])
x3=k;
}
y1=mod26(multiply_mod26(a,x1)+multiply_mod26(b,x2)+multiply_mod26(c,x3));
y2=mod26(multiply_mod26(d,x1)+multiply_mod26(e,x2)+multiply_mod26(f,x3));
y3=mod26(multiply_mod26(g,x1)+multiply_mod26(h,x2)+multiply_mod26(i,x3));
cipher[j]=rk[y1];
cipher[j+1]=rk[y2];
cipher[j+2]=rk[y3];
}
cipher[strlen(plain)]=”;
}
void hill_tri_decrypt(char plain[],char cipher[],char rk[],int a,int b,int c,int d,int e,int f,int g,int h,int i){
unsigned int j,k;
int y1,y2,y3;
int x1,x2,x3;
int n;
n=regular_mod26(det_m33_mod26(a,b,c,d,e,f,g,h,i));
for(j=0;j<strlen(cipher);j+=3){
for(k=0;k<26;k++){
if(cipher[j]==rk[k])
y1=k;
if(cipher[j+1]==rk[k])
y2=k;
if(cipher[j+2]==rk[k])
y3=k;
}
x1=multiply_mod26(n,det_m33_mod26(y1,b,c,y2,e,f,y3,h,i));
x2=multiply_mod26(n,det_m33_mod26(a,y1,c,d,y2,f,g,y3,i));
x3=multiply_mod26(n,det_m33_mod26(a,b,y1,d,e,y2,g,h,y3));
plain[j]=rk[x1];
plain[j+1]=rk[x2];
plain[j+2]=rk[x3];
}
plain[strlen(cipher)]=”;
}
void hill_poly_encrypt(char plain[],char cipher[],char rk[],int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4,int d1,int d2,int d3,int d4,int k11,int k12,int k13,int k14,int k21,int k22,int k23,int k24){
unsigned int i,j;
int x11,x12,x13,x14,x21,x22,x23,x24;
int y11,y12,y13,y14,y21,y22,y23,y24;
int C1,C2,C3,C4,D1,D2,D3,D4;
for(i=0;i<strlen(plain);i+=8){
for(j=0;j<26;j++){
if(plain[i]==rk[j])
x11=j;
if(plain[i+1]==rk[j])
x12=j;
if(plain[i+2]==rk[j])
x13=j;
if(plain[i+3]==rk[j])
x14=j;
if(plain[i+4]==rk[j])
x21=j;
if(plain[i+5]==rk[j])
x22=j;
if(plain[i+6]==rk[j])
x23=j;
if(plain[i+7]==rk[j])
x24=j;
}
multiply_matrix_mod26(a1,a2,a3,a4,x11,x12,x13,x14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(b1,b2,b3,b4,x21,x22,x23,x24,&D1,&D2,&D3,&D4);
y11=mod26(C1+D1+k11);
y12=mod26(C2+D2+k12);
y13=mod26(C3+D3+k13);
y14=mod26(C4+D4+k14);
multiply_matrix_mod26(c1,c2,c3,c4,x11,x12,x13,x14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(d1,d2,d3,d4,x21,x22,x23,x24,&D1,&D2,&D3,&D4);
y21=mod26(C1+D1+k21);
y22=mod26(C2+D2+k22);
y23=mod26(C3+D3+k23);
y24=mod26(C4+D4+k24);
cipher[i]=rk[y11];
cipher[i+1]=rk[y12];
cipher[i+2]=rk[y13];
cipher[i+3]=rk[y14];
cipher[i+4]=rk[y21];
cipher[i+5]=rk[y22];
cipher[i+6]=rk[y23];
cipher[i+7]=rk[y24];
}
cipher[strlen(plain)]=”;
}
void hill_poly_decrypt(char plain[],char cipher[],char rk[],int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4,int d1,int d2,int d3,int d4,int k11,int k12,int k13,int k14,int k21,int k22,int k23,int k24){
unsigned int i,j;
int n;
int x11,x12,x13,x14,x21,x22,x23,x24;
int y11,y12,y13,y14,y21,y22,y23,y24;
int C1,C2,C3,C4,D1,D2,D3,D4;
int K11,K12,K13,K14,K21,K22,K23,K24;
int adj[4][4];
int M[4][4];
n=regular_mod26(mod26(multiply_mod26(a1,det_m33_mod26(a4,b3,b4,c2,d1,d2,c4,d3,d4))-multiply_mod26(a3,det_m33_mod26(a2,b1,b2,c2,d1,d2,c4,d3,d4))+multiply_mod26(c1,det_m33_mod26(a2,b1,b2,a4,b3,b4,c4,d3,d4))-multiply_mod26(c3,det_m33_mod26(a2,b1,b2,a4,b3,b4,c2,d1,d2))));
M[0][0]=det_m33_mod26(a4,b3,b4,c2,d1,d2,c4,d3,d4);
M[1][0]=det_m33_mod26(a2,b1,b2,c2,d1,d2,c4,d3,d4);
M[2][0]=det_m33_mod26(a2,b1,b2,a4,b3,b4,c4,d3,d4);
M[3][0]=det_m33_mod26(a2,b1,b2,a4,b3,b4,c2,d1,d2);
M[0][1]=det_m33_mod26(a3,b3,b4,c1,d1,d2,c3,d3,d4);
M[1][1]=det_m33_mod26(a1,b1,b2,c1,d1,d2,c3,d3,d4);
M[2][1]=det_m33_mod26(a1,b1,b2,a3,b3,b4,c3,d3,d4);
M[3][1]=det_m33_mod26(a1,b1,b2,a3,b3,b4,c1,d1,d2);
M[0][2]=det_m33_mod26(a3,a4,b4,c1,c2,d2,c3,c4,d4);
M[1][2]=det_m33_mod26(a1,a2,b2,c1,c2,d2,c3,c4,d4);
M[2][2]=det_m33_mod26(a1,a2,b2,a3,a4,b4,c3,c4,d4);
M[3][2]=det_m33_mod26(a1,a2,b2,a3,a4,b4,c1,c2,d2);
M[0][3]=det_m33_mod26(a3,a4,b3,c1,c2,d1,c3,c4,d3);
M[1][3]=det_m33_mod26(a1,a2,b1,c1,c2,d1,c3,c4,d3);
M[2][3]=det_m33_mod26(a1,a2,b1,a3,a4,b3,c3,c4,d3);
M[3][3]=det_m33_mod26(a1,a2,b1,a3,a4,b3,c1,c2,d1);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
adj[i][j]=multiply_mod26(n,M[j][i]*(int)pow(-1,j+i));
multiply_matrix_mod26(adj[0][0],adj[0][1],adj[1][0],adj[1][1],k11,k12,k13,k14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(adj[0][2],adj[0][3],adj[1][2],adj[1][3],k21,k22,k23,k24,&D1,&D2,&D3,&D4);
K11=reciprocal_mod26(C1+D1);
K12=reciprocal_mod26(C2+D2);
K13=reciprocal_mod26(C3+D3);
K14=reciprocal_mod26(C4+D4);
multiply_matrix_mod26(adj[2][0],adj[2][1],adj[3][0],adj[3][1],k11,k12,k13,k14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(adj[2][2],adj[2][3],adj[3][2],adj[3][3],k21,k22,k23,k24,&D1,&D2,&D3,&D4);
K21=reciprocal_mod26(C1+D1);
K22=reciprocal_mod26(C2+D2);
K23=reciprocal_mod26(C3+D3);
K24=reciprocal_mod26(C4+D4);
for(i=0;i<strlen(cipher);i+=8){
for(j=0;j<26;j++){
if(cipher[i]==rk[j])
y11=j;
if(cipher[i+1]==rk[j])
y12=j;
if(cipher[i+2]==rk[j])
y13=j;
if(cipher[i+3]==rk[j])
y14=j;
if(cipher[i+4]==rk[j])
y21=j;
if(cipher[i+5]==rk[j])
y22=j;
if(cipher[i+6]==rk[j])
y23=j;
if(cipher[i+7]==rk[j])
y24=j;
}
multiply_matrix_mod26(adj[0][0],adj[0][1],adj[1][0],adj[1][1],y11,y12,y13,y14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(adj[0][2],adj[0][3],adj[1][2],adj[1][3],y21,y22,y23,y24,&D1,&D2,&D3,&D4);
x11=mod26(C1+D1+K11);
x12=mod26(C2+D2+K12);
x13=mod26(C3+D3+K13);
x14=mod26(C4+D4+K14);
multiply_matrix_mod26(adj[2][0],adj[2][1],adj[3][0],adj[3][1],y11,y12,y13,y14,&C1,&C2,&C3,&C4);
multiply_matrix_mod26(adj[2][2],adj[2][3],adj[3][2],adj[3][3],y21,y22,y23,y24,&D1,&D2,&D3,&D4);
x21=mod26(C1+D1+K21);
x22=mod26(C2+D2+K22);
x23=mod26(C3+D3+K23);
x24=mod26(C4+D4+K24);
plain[i]=rk[x11];
plain[i+1]=rk[x12];
plain[i+2]=rk[x13];
plain[i+3]=rk[x14];
plain[i+4]=rk[x21];
plain[i+5]=rk[x22];
plain[i+6]=rk[x23];
plain[i+7]=rk[x24];
}
plain[strlen(cipher)]=”;
}
Semoga bisa berguna. But jangan copas aj ye, ntar ga dapet ilmunya!!!!