Differential and Linear trail propagation in Noekeon












4












$begingroup$


In the Noekeon Cipher Specification they write the following :




The propagation through Lambda is denoted by $(a rightarrow A)$, also called a
step. Because of the linearity of Lambda it is fully deterministic:
both for LC and DC patterns, we have: $A = operatorname{Lambda}(a)$. The fact that the
relation is the same for LC and DC is thanks to the fact that the
Lambda is an orthogonal function. If represented in a matrix, its
inverse is its transpose.




I'm having a hard time understanding why the orthogonality of Lambda affects the relation with regards to selection patterns (LC).



Why does the orthogonality of Lambda make it so that the relationship is the same as for DC ? How would the selection pattern propagate through the linear layer if Lambda was not orthogonal ?










share|improve this question











$endgroup$

















    4












    $begingroup$


    In the Noekeon Cipher Specification they write the following :




    The propagation through Lambda is denoted by $(a rightarrow A)$, also called a
    step. Because of the linearity of Lambda it is fully deterministic:
    both for LC and DC patterns, we have: $A = operatorname{Lambda}(a)$. The fact that the
    relation is the same for LC and DC is thanks to the fact that the
    Lambda is an orthogonal function. If represented in a matrix, its
    inverse is its transpose.




    I'm having a hard time understanding why the orthogonality of Lambda affects the relation with regards to selection patterns (LC).



    Why does the orthogonality of Lambda make it so that the relationship is the same as for DC ? How would the selection pattern propagate through the linear layer if Lambda was not orthogonal ?










    share|improve this question











    $endgroup$















      4












      4








      4


      2



      $begingroup$


      In the Noekeon Cipher Specification they write the following :




      The propagation through Lambda is denoted by $(a rightarrow A)$, also called a
      step. Because of the linearity of Lambda it is fully deterministic:
      both for LC and DC patterns, we have: $A = operatorname{Lambda}(a)$. The fact that the
      relation is the same for LC and DC is thanks to the fact that the
      Lambda is an orthogonal function. If represented in a matrix, its
      inverse is its transpose.




      I'm having a hard time understanding why the orthogonality of Lambda affects the relation with regards to selection patterns (LC).



      Why does the orthogonality of Lambda make it so that the relationship is the same as for DC ? How would the selection pattern propagate through the linear layer if Lambda was not orthogonal ?










      share|improve this question











      $endgroup$




      In the Noekeon Cipher Specification they write the following :




      The propagation through Lambda is denoted by $(a rightarrow A)$, also called a
      step. Because of the linearity of Lambda it is fully deterministic:
      both for LC and DC patterns, we have: $A = operatorname{Lambda}(a)$. The fact that the
      relation is the same for LC and DC is thanks to the fact that the
      Lambda is an orthogonal function. If represented in a matrix, its
      inverse is its transpose.




      I'm having a hard time understanding why the orthogonality of Lambda affects the relation with regards to selection patterns (LC).



      Why does the orthogonality of Lambda make it so that the relationship is the same as for DC ? How would the selection pattern propagate through the linear layer if Lambda was not orthogonal ?







      cryptanalysis block-cipher linear-cryptanalysis differential-analysis






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 8 hours ago







      Yuon

















      asked 9 hours ago









      YuonYuon

      737




      737






















          1 Answer
          1






          active

          oldest

          votes


















          3












          $begingroup$

          This is due to the duality between linear and differential trails.
          Let $L$ be an invertible linear map on $mathbb{F}_2^n$, think of it as a matrix for convenience.
          In general, a nonzero differential $Delta_1 to Delta_2$ over $L$ must satisfy



          $$Delta_2 = L,Delta_1.$$



          A nonzero linear approximation $u_1 to u_2$, however, must satisfy



          $$u_2 = L^{-top},u_1$$



          An elementary way to see this is to observe that $u_1^top x = u_2^top (Lx)$ is equivalent to $u_1^top x = (L^top,u_2)^top x$. This holds for all $x in mathbb{F}_2^n$ whenever $u_2 = L^{-top},u_1$, and otherwise for half (some hyperplane) the $x$.



          If $L$ is orthogonal, then $L^{-T} = L$. So then we have both $Delta_2 = LDelta_1$ and $u_2 = L u_1$.






          share|improve this answer









          $endgroup$













          • $begingroup$
            I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
            $endgroup$
            – Yuon
            4 hours ago













          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "281"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68085%2fdifferential-and-linear-trail-propagation-in-noekeon%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3












          $begingroup$

          This is due to the duality between linear and differential trails.
          Let $L$ be an invertible linear map on $mathbb{F}_2^n$, think of it as a matrix for convenience.
          In general, a nonzero differential $Delta_1 to Delta_2$ over $L$ must satisfy



          $$Delta_2 = L,Delta_1.$$



          A nonzero linear approximation $u_1 to u_2$, however, must satisfy



          $$u_2 = L^{-top},u_1$$



          An elementary way to see this is to observe that $u_1^top x = u_2^top (Lx)$ is equivalent to $u_1^top x = (L^top,u_2)^top x$. This holds for all $x in mathbb{F}_2^n$ whenever $u_2 = L^{-top},u_1$, and otherwise for half (some hyperplane) the $x$.



          If $L$ is orthogonal, then $L^{-T} = L$. So then we have both $Delta_2 = LDelta_1$ and $u_2 = L u_1$.






          share|improve this answer









          $endgroup$













          • $begingroup$
            I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
            $endgroup$
            – Yuon
            4 hours ago


















          3












          $begingroup$

          This is due to the duality between linear and differential trails.
          Let $L$ be an invertible linear map on $mathbb{F}_2^n$, think of it as a matrix for convenience.
          In general, a nonzero differential $Delta_1 to Delta_2$ over $L$ must satisfy



          $$Delta_2 = L,Delta_1.$$



          A nonzero linear approximation $u_1 to u_2$, however, must satisfy



          $$u_2 = L^{-top},u_1$$



          An elementary way to see this is to observe that $u_1^top x = u_2^top (Lx)$ is equivalent to $u_1^top x = (L^top,u_2)^top x$. This holds for all $x in mathbb{F}_2^n$ whenever $u_2 = L^{-top},u_1$, and otherwise for half (some hyperplane) the $x$.



          If $L$ is orthogonal, then $L^{-T} = L$. So then we have both $Delta_2 = LDelta_1$ and $u_2 = L u_1$.






          share|improve this answer









          $endgroup$













          • $begingroup$
            I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
            $endgroup$
            – Yuon
            4 hours ago
















          3












          3








          3





          $begingroup$

          This is due to the duality between linear and differential trails.
          Let $L$ be an invertible linear map on $mathbb{F}_2^n$, think of it as a matrix for convenience.
          In general, a nonzero differential $Delta_1 to Delta_2$ over $L$ must satisfy



          $$Delta_2 = L,Delta_1.$$



          A nonzero linear approximation $u_1 to u_2$, however, must satisfy



          $$u_2 = L^{-top},u_1$$



          An elementary way to see this is to observe that $u_1^top x = u_2^top (Lx)$ is equivalent to $u_1^top x = (L^top,u_2)^top x$. This holds for all $x in mathbb{F}_2^n$ whenever $u_2 = L^{-top},u_1$, and otherwise for half (some hyperplane) the $x$.



          If $L$ is orthogonal, then $L^{-T} = L$. So then we have both $Delta_2 = LDelta_1$ and $u_2 = L u_1$.






          share|improve this answer









          $endgroup$



          This is due to the duality between linear and differential trails.
          Let $L$ be an invertible linear map on $mathbb{F}_2^n$, think of it as a matrix for convenience.
          In general, a nonzero differential $Delta_1 to Delta_2$ over $L$ must satisfy



          $$Delta_2 = L,Delta_1.$$



          A nonzero linear approximation $u_1 to u_2$, however, must satisfy



          $$u_2 = L^{-top},u_1$$



          An elementary way to see this is to observe that $u_1^top x = u_2^top (Lx)$ is equivalent to $u_1^top x = (L^top,u_2)^top x$. This holds for all $x in mathbb{F}_2^n$ whenever $u_2 = L^{-top},u_1$, and otherwise for half (some hyperplane) the $x$.



          If $L$ is orthogonal, then $L^{-T} = L$. So then we have both $Delta_2 = LDelta_1$ and $u_2 = L u_1$.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 6 hours ago









          AlephAleph

          1,3061220




          1,3061220












          • $begingroup$
            I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
            $endgroup$
            – Yuon
            4 hours ago




















          • $begingroup$
            I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
            $endgroup$
            – Yuon
            4 hours ago


















          $begingroup$
          I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
          $endgroup$
          – Yuon
          4 hours ago






          $begingroup$
          I suspected it was because of something like that. Could you just give some intuition as to why we want $u^T_1 x = u^T_2(Lx)$ in first place ? If I had to come up with that, I'd think it's the other way around $u^T_2 x = u^T_1 (Lx)$ just like the differential case.
          $endgroup$
          – Yuon
          4 hours ago




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Cryptography Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68085%2fdifferential-and-linear-trail-propagation-in-noekeon%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Сан-Квентин

          Алькесар

          Josef Freinademetz