About the code of strelka

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: About the code of strelka

Post by mjlef »

Christopher Conkie wrote:
Tord Romstad wrote:
Christopher Conkie wrote:
I have no why this is done, but it is difficult to believe that it is in an attempt to hide something, because none of the arrays involved are very original or interesting.
I have no idea why people hex edit names in chess engines.

After all.....the name is not that interesting.
There is a very fundamental difference. The name is usually unique to the engine, while the arrays we are talking about are shared by almost all bitboard chess engines in the known universe.

Also, the idea that somebody who is a specialist in cryptography can't find a better way to obfuscate a few tables than XORing every single entry of all tables by a single random number strikes me as extremely absurd. Even I could have done something much more difficult to decipher in a few minutes of work.

Tord
You have all the code there and yet you don't know why he did this although. It would be helpful if you knew this. Surely there must be a reason?
I do not have the code to look at, but it is possible if the XOR value is 255, that he is making a negative mask. You would copy the values to a dynamic array, then XOR the original values with 255 to flip all the bits.
User avatar
Werner
Posts: 2962
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: About the code of strelka - thanks Tord -

Post by Werner »

I think that the answer is positive
I think that what he did to rybka is an harder task than writing 2700 elo engine.
Hi Uri,
I am not sure if the answer is positiv now. I remember Chris e.g. wrote:

"Anyway...I have given you a way to definatively know.
The rest is up to you, Dann, Yuri, Sergei or Bryan.
That table...those values. It's really easy.
Christopher"

Now he has this tables - and I am waiting for this "definatively" answer...
And I think, as long as there is no proof you cannot forejudge someone.
Werner
Uri Blass
Posts: 10784
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: About the code of strelka

Post by Uri Blass »

mjlef wrote:
Christopher Conkie wrote:
Tord Romstad wrote:
Christopher Conkie wrote:
I have no why this is done, but it is difficult to believe that it is in an attempt to hide something, because none of the arrays involved are very original or interesting.
I have no idea why people hex edit names in chess engines.

After all.....the name is not that interesting.
There is a very fundamental difference. The name is usually unique to the engine, while the arrays we are talking about are shared by almost all bitboard chess engines in the known universe.

Also, the idea that somebody who is a specialist in cryptography can't find a better way to obfuscate a few tables than XORing every single entry of all tables by a single random number strikes me as extremely absurd. Even I could have done something much more difficult to decipher in a few minutes of work.

Tord
You have all the code there and yet you don't know why he did this although. It would be helpful if you knew this. Surely there must be a reason?
I do not have the code to look at, but it is possible if the XOR value is 255, that he is making a negative mask. You would copy the values to a dynamic array, then XOR the original values with 255 to flip all the bits.
I have the code and he was xoring with random number from table of random numbers and not with 255.

Uri
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

To XOR or not to XOR.......

Post by Christopher Conkie »

Uri Blass wrote:
mjlef wrote:
Christopher Conkie wrote:
Tord Romstad wrote:
Christopher Conkie wrote:
I have no why this is done, but it is difficult to believe that it is in an attempt to hide something, because none of the arrays involved are very original or interesting.
I have no idea why people hex edit names in chess engines.

After all.....the name is not that interesting.
There is a very fundamental difference. The name is usually unique to the engine, while the arrays we are talking about are shared by almost all bitboard chess engines in the known universe.

Also, the idea that somebody who is a specialist in cryptography can't find a better way to obfuscate a few tables than XORing every single entry of all tables by a single random number strikes me as extremely absurd. Even I could have done something much more difficult to decipher in a few minutes of work.

Tord
You have all the code there and yet you don't know why he did this although. It would be helpful if you knew this. Surely there must be a reason?
I do not have the code to look at, but it is possible if the XOR value is 255, that he is making a negative mask. You would copy the values to a dynamic array, then XOR the original values with 255 to flip all the bits.
I have the code and he was xoring with random number from table of random numbers and not with 255.

Uri
Yep......random. Now why? Why would you do that? Every programmer who i know says the same thing that being.....I have no idea.

Even Tord does not know why it seems.

Christopher
Uri Blass
Posts: 10784
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: About the code of strelka - thanks Tord -

Post by Uri Blass »

Werner wrote:
I think that the answer is positive
I think that what he did to rybka is an harder task than writing 2700 elo engine.
Hi Uri,
I am not sure if the answer is positiv now. I remember Chris e.g. wrote:

"Anyway...I have given you a way to definatively know.
The rest is up to you, Dann, Yuri, Sergei or Bryan.
That table...those values. It's really easy.
Christopher"

Now he has this tables - and I am waiting for this "definatively" answer...
And I think, as long as there is no proof you cannot forejudge someone.
Hi Werner,
It seems that you did not understand my answer.

I answered to the following:

"If you asked Yuri Osipov to write an engine from scratch do you think it would be 2700 elo?"

When I said positive I meant that he could write engine with at least 2700 elo from scratch.

It seems that you understood positive as positive to the question if strelka is a clone.

Note that it is clear to me even without the code that strelka took part of rybka and I do not go to definition of clones.
The similiarity between strelka and rybka is too high to be a random similiarity.

I do not express an opinion in these words about the question if strelka is clone or if strelka is a legal engine because I am not an expert about definitions of these terms.

I only expressed an opinion that taking parts of rybka and use them to write C code like strelka is an harder task than writing an 2700 engine.

Uri
Uri Blass
Posts: 10784
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: To XOR or not to XOR.......

Post by Uri Blass »

Christopher Conkie wrote:
Uri Blass wrote:
mjlef wrote:
Christopher Conkie wrote:
Tord Romstad wrote:
Christopher Conkie wrote:
I have no why this is done, but it is difficult to believe that it is in an attempt to hide something, because none of the arrays involved are very original or interesting.
I have no idea why people hex edit names in chess engines.

After all.....the name is not that interesting.
There is a very fundamental difference. The name is usually unique to the engine, while the arrays we are talking about are shared by almost all bitboard chess engines in the known universe.

Also, the idea that somebody who is a specialist in cryptography can't find a better way to obfuscate a few tables than XORing every single entry of all tables by a single random number strikes me as extremely absurd. Even I could have done something much more difficult to decipher in a few minutes of work.

Tord
You have all the code there and yet you don't know why he did this although. It would be helpful if you knew this. Surely there must be a reason?
I do not have the code to look at, but it is possible if the XOR value is 255, that he is making a negative mask. You would copy the values to a dynamic array, then XOR the original values with 255 to flip all the bits.
I have the code and he was xoring with random number from table of random numbers and not with 255.

Uri
Yep......random. Now why? Why would you do that? Every programmer who i know says the same thing that being.....I have no idea.

Even Tord does not know why it seems.

Christopher
I already explained the reason that I think that he did it.

I believe that he took parts from rybka and a part of rybka included these xors.

I believe that he even did not try to hide the fact that he took parts from rybka because it is easy for him to change the program not to have these xors.

We cannot blame him of trying to hide similiarity to rybka and he even chose the name strelka that is similiar to rybka.

Uri
GeorgeLyapko

Re: To XOR or not to XOR.......

Post by GeorgeLyapko »

Uri Blass wrote:
We cannot blame him of trying to hide similiarity to rybka and he even chose the name strelka that is similiar to rybka.

Uri
What is the similarity between fish and arrow?
Vempele

Re: To XOR or not to XOR.......

Post by Vempele »

Little Fish
Little Arrow

See the similarity now?
GeorgeLyapko

Re: To XOR or not to XOR.......

Post by GeorgeLyapko »

Vempele wrote:Little Fish
Little Arrow

See the similarity now?
No, because "strelka" in russian means simply arrow (e.g. on a clock), little arrow="strelochka".
Uri Blass
Posts: 10784
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: To XOR or not to XOR.......

Post by Uri Blass »

GeorgeLyapko wrote:
Uri Blass wrote:
We cannot blame him of trying to hide similiarity to rybka and he even chose the name strelka that is similiar to rybka.

Uri
What is the similarity between fish and arrow?
The similiarity in the names is that both end with "ka"

Are there more chess programs that end with "ka" except rybka and strelka?

Uri