Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

S-box design (input/output)

z4n9iefz4n9ief Posts: 3Member
Hello,

On a article of Wikipedia (http://en.wikipedia.org/wiki/Substitution_box ), we can found a example of 6

Comments

  • zibadianzibadian Posts: 6,349Member
    : Hello,
    :
    : On a article of Wikipedia
    : (http://en.wikipedia.org/wiki/Substitution_box ), we can found a
    : example of 6
  • z4n9iefz4n9ief Posts: 3Member
    Thanks for your answer, but I don't very well understand it.

    In fact I think if a S-box use a input.length < output.length, then it's beacause this S-box use some information about the input and therefore there is a redundancy, so this kind of S-box is not interesting.
    That's the reason why I think it's impossible to do, and even if we try to, it's a bad idea.
  • zibadianzibadian Posts: 6,349Member
    : Thanks for your answer, but I don't very well understand it.
    :
    : In fact I think if a S-box use a input.length < output.length, then
    : it's beacause this S-box use some information about the input and
    : therefore there is a redundancy, so this kind of S-box is not
    : interesting.
    : That's the reason why I think it's impossible to do, and even if we
    : try to, it's a bad idea.
    :
    Here's an example to clarify:
    Take for example this S-box: abcd
    and as input the byte 1.
    A cypher could perform the following:
    output = ((a xor 1) and (b xor 1)) or ((c xor 1) and (d xor 1))
    after the output has been determined, the S-box is rotated (becoming cadb) and is ready to process the second byte.
    As you can see the output is also 1 byte and the whole S-box (4 bytes) is used in the transformation.
    As you also might see, there's no redundancy in the S-box.

    Given that blowfish is considered to be a good blockcipher, I tend to disagree with your idea that having a larger S-box than the input is a bad idea.
  • z4n9iefz4n9ief Posts: 3Member
    : Here's an example to clarify:
    : Take for example this S-box: abcd
    : and as input the byte 1.
    : A cypher could perform the following:
    : output = ((a xor 1) and (b xor 1)) or ((c xor 1) and (d xor 1))
    : after the output has been determined, the S-box is rotated (becoming
    : cadb) and is ready to process the second byte.
    : As you can see the output is also 1 byte and the whole S-box (4
    : bytes) is used in the transformation.
    : As you also might see, there's no redundancy in the S-box.
    :
    : Given that blowfish is considered to be a good blockcipher, I tend
    : to disagree with your idea that having a larger S-box than the input
    : is a bad idea.

    Thank you very much for your explication. Now I see that's possible, thanks to some calculs (unlike in the S-box example on Wikipedia).

    Regards.
Sign In or Register to comment.