Post
Topic
Board Games and rounds
Re: Bitcoin Cipher/puzzle - 0.56 Prize ! Bitcoins
by
hexafraction
on 23/08/2015, 00:21:01 UTC
Full result of what I have so far:
Code:
1. 5Juu2  (confirmed)
2. CkB3  (confirmed)
3. EAhBp, NAhBp
4. EcyH9  (confirmed)
5. dypNh  (confirmed)
6. DZ8fX  (confirmed)
7. gh6RQ  (confirmed)
8. wwbo5  (confirmed)
9. teLs6, jeBa6, ueBa6, pdBa6, sdBa6, tsBj6, tsBu6
10. dGYa11E, wVLyNnE, dRNoTtE, eGYoMm5, r3C1NnE



I think there will be a reordering step at the end .

I'm attempting a brute-force of all valid Base58Check private keys with those parameters, including the shuffling (since unshuffled had no results). Should be done within 10 minutes or so.

Edit: No match :/ Code I'm using is below. PermIterator gives all permutations of an int[] from 0 to length-1. Optimized since 5Juu2 is the only possible start to the private key.

Code:
import java.util.Arrays;

import com.google.bitcoin.core.AddressFormatException;
import com.google.bitcoin.core.Base58;

public class BrutePri {

// 1. 5Juu2  (confirmed)
// 2. CkB3  (confirmed)
// 3. EAhBp, NAhBp
// 4. EcyH9  (confirmed)
// 5. dypNh  (confirmed)
// 6. DZ8fX  (confirmed)
// 7. gh6RQ  (confirmed)
// 8. wwbo5  (confirmed)
// 9. teLs6, jeBa6, ueBa6, pdBa6, sdBa6, tsBj6, tsBu6
// 10. dGYa11E, wVLyNnE, dRNoTtE, eGYoMm5, r3C1NnE
String[] a0 = {"EAhBp", "NAhBp"};

static String tkey = "5JXimtP4fhCef6disCwLnT6192QLN1rqM5bPAX3rw4CmBcRBCix";
static int z = 0;
public static void main(String[] args) throws Exception {

String ls = "5Juu2CkB3";
String ms = "EcyH9dypNhDZ8fXgh6RQwwbo5";

try {
Base58.decodeChecked(tkey);
System.out.println(tkey);

} catch (AddressFormatException e){
System.err.println("Err");
}

new Thread(new Runnable(){ public void run(){
String[] parts = new String[9];
parts[0] = "CkB3";
parts[1] = "ZZZ";
parts[2] = "EcyH9";
parts[3] = "dypNh";
parts[4] = "DZ8fX";
parts[5] = "gh6RQ";
parts[6] = "wwbo5";
parts[7] = "ZZZ";
parts[8] = "ZZZ";
String[] a1 = { "teLs6", "jeBa6", "ueBa6", "pdBa6", "sdBa6", "tsBj6", "tsBu6" };
String[] a2 = { "dGYa11E", "wVLyNnE", "dRNoTtE", "eGYoMm5", "r3C1NnE" };
for (int j = 0; j < a1.length; j++) {
for(int k = 0; k < a2.length; k++){
parts[1] = "EAhBp";
parts[7] = a1[j];
parts[8] = a2[k];
z++;
System.out.println("t1 iter "+z+"/70");
PermIterator pi = new PermIterator(9);
int[] iter = null;
while(pi.hasNext()){
iter = pi.next();
StringBuilder sb = new StringBuilder("5Juu2");
for(int q = 0; q < iter.length; q++){
sb.append(parts[iter[q]]);
}

byte[] key;
try {
key = Base58.decodeChecked(sb.toString());
System.out.println(sb.toString());
} catch (AddressFormatException e){
//pass
}
}
}

}

}}).start();
new Thread(new Runnable(){ public void run(){
String[] parts = new String[9];
parts[0] = "CkB3";
parts[1] = "ZZZ";
parts[2] = "EcyH9";
parts[3] = "dypNh";
parts[4] = "DZ8fX";
parts[5] = "gh6RQ";
parts[6] = "wwbo5";
parts[7] = "ZZZ";
parts[8] = "ZZZ";
String[] a1 = { "teLs6", "jeBa6", "ueBa6", "pdBa6", "sdBa6", "tsBj6", "tsBu6" };
String[] a2 = { "dGYa11E", "wVLyNnE", "dRNoTtE", "eGYoMm5", "r3C1NnE" };
for (int j = 0; j < a1.length; j++) {
for(int k = 0; k < a2.length; k++){
parts[1] = "NAhBp";
parts[7] = a1[j];
parts[8] = a2[k];
z++;
System.out.println("t2 iter "+z+"/70");
PermIterator pi = new PermIterator(9);
int[] iter = null;
while(pi.hasNext()){
iter = pi.next();
StringBuilder sb = new StringBuilder("5Juu2");
for(int q = 0; q < iter.length; q++){
sb.append(parts[iter[q]]);
}
byte[] key;
try {
key = Base58.decodeChecked(sb.toString());
System.out.println(sb.toString());

} catch (AddressFormatException e){
//pass
}
}
}

}

}}).start();
// Thread.sleep(1);

}
}