hi all ..i have a problem with my project and need your help plz ...
i have this code

``````int [] exp = {32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,
24,25,24,25,26,27,28,29,28,29,30,31,32,1};
int [] expword =  new int [exp.length];
String s=toenc.getText();
if(s.length() < 32)
JOptionPane.showMessageDialog(null,"Word must be 32");
else{
int[] e = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
e[i] = Character.digit(s.charAt(i), 10);
}``````

s is the string that i enter in the text field ...i'am entering serie of (32 bit ) in binary and then i transform them to (int []) ...
i want to extend these bits to become 48 bit by the way shown in the (exp array) for example i want the bit in the index(4 and 5) in the (int [] )to be typed 2 times (4 5 4 5) and soo on as shown in the (exp table) and i want them to be in a new table of 48 bits extended from the original table ...and thnx for help in advance

3
Contributors
4
Replies
5
Views
9 Years
Discussion Span
Last Post by weblover

no one can help me :S:S ..ok thnx ....i found out a way ...if someone is interested ..i'll post my code .

It looks like I could have helped, your explanation is quite confusing though. What I don't get is why you don't simply post an example of what you are trying to accomplish. For example,

I'm trying to transform 1 into 2
1. array that holds: 1 2 3 4 5
2. array that holds: 1 1 2 2 3 3 4 4 5 5

``````int  []sub1 = {14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,8,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13};
int []sub2 = {15,1,8,14,6,11,3,4,9,7,2,13};
String ke =keyfield.getText();
int [] exp = {32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1};
int [] expword =  new int [ke.length()];
String s=toenc.getText();
int[] e = new int[s.length()];
int[] k = new int[ke.length()];
int [] resxor = new int [ke.length()];
if((ke.length() < 48) || (ke.length() >48))
JOptionPane.showMessageDialog(null,"key must be 48");

for (int j = 0; j < ke.length(); j++) {
k[j] = Character.digit(ke.charAt(j), 10);     //tableau contenant le key en binaire
//transform key to int [];
//System.out.print("k"+ j + "=" +k[j] + "\n");
}

if((s.length() < 32) || (s.length() >32))
JOptionPane.showMessageDialog(null,"Word must be 32");

for (int i = 0; i < s.length(); i++) {
e[i] = Character.digit(s.charAt(i), 10);    //tableau contenant le plain text en binaire
//transform word to int [];
//System.out.print("e "+ i + "=" +e[i] + "\n");
}
//System.out.println("-------------------------");
// for(int j=0;j<e.length;j++)
for(int ss=0;ss<exp.length;ss++){
expword[ss] = e[exp[ss]-1];   // expansion of plain text from 32 to 48;
// System.out.print("expword "+ss + "=" +expword[ss] + "\n");
}
for(int q=0;q<k.length;q++){    //pour calculer XOR.
resxor[q] = expword[q] ^ k[q];
// System.out.print("resxor["+ q +"]=" +resxor[q]+"\n");
}
for(int r=0;r<rexor.length;r++){
if((r!=0) && (i%8==0))
k++;``````
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.