Cryptographic primitives | Symmetric-key cryptography

T-function

In cryptography, a T-function is a bijective mapping that updates every bit of the state in a way that can be described as , or in simple words an update function in which each bit of the state is updated by a linear combination of the same bit and a function of a subset of its less significant bits. If every single less significant bit is included in the update of every bit in the state, such a T-function is called triangular. Thanks to their bijectivity (no collisions, therefore no entropy loss) regardless of the used Boolean functions and regardless of the selection of inputs (as long as they all come from one side of the output bit), T-functions are now widely used in cryptography to construct block ciphers, stream ciphers, PRNGs and hash functions. T-functions were first proposed in 2002 by and A. Shamir in their paper "A New Class of Invertible Mappings". Ciphers such as , TSC-3, , ABC, Mir-1 and VEST are built with different types of T-functions. Because arithmetic operations such as addition, subtraction and multiplication are also T-functions (triangular T-functions), software-efficient word-based T-functions can be constructed by combining bitwise logic with arithmetic operations. Another important property of T-functions based on arithmetic operations is predictability of their period, which is highly attractive to cryptographers. Although triangular T-functions are naturally vulnerable to guess-and-determine attacks, well chosen bitwise transpositions between rounds can neutralize that imbalance. In software-efficient ciphers, it can be done by interleaving arithmetic operations with byte-swapping operations and to a small degree with bitwise rotation operations. However, triangular T-functions remain highly inefficient in hardware. T-functions do not have any restrictions on the types and the widths of the update functions used for each bit. Subsequent transposition of the output bits and iteration of the T-function also do not affect bijectivity. This freedom allows the designer to choose the update functions or S-boxes that satisfy all other cryptographic criteria and even choose arbitrary or key-dependent update functions (see ). Hardware-efficient lightweight T-functions with identical widths of all the update functions for each bit of the state can thus be easily constructed. The core accumulators of VEST ciphers are a good example of such reasonably light-weight T-functions that are balanced out after 2 rounds by the transposition layer making all the 2-round feedback functions of roughly the same width and losing the "T-function" bias of depending only on the less significant bits of the state. (Wikipedia).

T-function
Video thumbnail

AQA Core 3 2.01 What is a Function?

Here I describe what is meant by a function, a many-one and one-one function, and introduce the ideas of domain and range.

From playlist [OLD SPEC] TEACHING AQA CORE 3 (C3)

Video thumbnail

Determine if a Relation is a Function

http://mathispower4u.wordpress.com/

From playlist Intro to Functions

Video thumbnail

Using the vertical line test to determine if a graph is a function or not

👉 Learn how to determine whether relations such as equations, graphs, ordered pairs, mapping and tables represent a function. A function is defined as a rule which assigns an input to a unique output. Hence, one major requirement of a function is that the function yields one and only one r

From playlist What is the Domain and Range of the Function

Video thumbnail

Pre-Calculus - Vocabulary of functions

This video describes some of the vocabulary used with functions. Specifically it covers what a function is as well as the basic idea behind its domain and range. For more videos visit http://www.mysecretmathtutor.com

From playlist Pre-Calculus - Functions

Video thumbnail

Functions of equations - IS IT A FUNCTION

👉 Learn how to determine whether relations such as equations, graphs, ordered pairs, mapping and tables represent a function. A function is defined as a rule which assigns an input to a unique output. Hence, one major requirement of a function is that the function yields one and only one r

From playlist What is the Domain and Range of the Function

Video thumbnail

Determine if the equation represents a function

👉 Learn how to determine whether relations such as equations, graphs, ordered pairs, mapping and tables represent a function. A function is defined as a rule which assigns an input to a unique output. Hence, one major requirement of a function is that the function yields one and only one r

From playlist What is the Domain and Range of the Function

Video thumbnail

(New Version Available) Inverse Functions

New Version: https://youtu.be/q6y0ToEhT1E Define an inverse function. Determine if a function as an inverse function. Determine inverse functions. http://mathispower4u.wordpress.com/

From playlist Exponential and Logarithmic Expressions and Equations

Video thumbnail

2.11117 What is a rational function Functions

http://www.freemathvideos.com presents: Learn math your way. My mission is to provide quality math education to everyone that is willing to receive it. This video is only a portion of a video course I have created as a math teacher. Please visit my website to join my mailing list, downloa

From playlist Rational Functions - Understanding

Video thumbnail

MATH2018 Lecture 7.2 Inverse Laplace Transforms

The Laplace Transform F(s) can be straightforwardly calculated either directly from the definition or by using a table. But we also need to be able to calculate Inverse Laplace Transforms so we can find our original function f(t).

From playlist MATH2018 Engineering Mathematics 2D

Video thumbnail

MATH2018 Lecture 8.1 More on the Heaviside function

We review the skills we have learned for dealing with Laplace Transforms. And we look at some trickier problems involving the Heaviside function.

From playlist MATH2018 Engineering Mathematics 2D

Video thumbnail

Video5-12: Laplace transform for discontinuous functions, 2nd shift Theorem, Elementary Diff. Eqns

Elementary Differential Equations Video5-12: Laplace transform for discontinuous functions, 2nd shift Theorem, examples. Course playlist: https://www.youtube.com/playlist?list=PLbxFfU5GKZz0GbSSFMjZQyZtCq-0ol_jD

From playlist Elementary Differential Equations

Video thumbnail

MATH2018 Lecture 7.3 The Shifting Theorems

We discuss two very important theorems, the First and Second Shifting Theorems, which allow us to calculate Laplace Transforms and Inverse Laplace Transforms for a much wider family of functions.

From playlist MATH2018 Engineering Mathematics 2D

Video thumbnail

MATH2018 Lecture 1.2: The Chain Rule

We extend the Chain Rule to deal with functions of more than one variable.

From playlist MATH2018 Engineering Mathematics 2D

Video thumbnail

Step Function and Delta Function

MIT RES.18-009 Learn Differential Equations: Up Close with Gilbert Strang and Cleve Moler, Fall 2015 View the complete course: http://ocw.mit.edu/RES-18-009F15 Instructor: Gilbert Strang A unit step function jumps from 0 to 1. Its slope is a delta function: zero everywhere except infinite

From playlist MIT Learn Differential Equations

Video thumbnail

Heaviside step function

Defines the Heaviside step function and computes its Laplace transform. Join me on Coursera: Matrix Algebra for Engineers: https://www.coursera.org/learn/matrix-algebra-engineers Differential Equations for Engineers: https://www.coursera.org/learn/differential-equations-engineers Vect

From playlist Differential Equations

Video thumbnail

Worldwide Calculus: Multi-Component Functions of a Single Variable

Lecture on 'Multi-Component Functions of a Single Variable' from 'Worldwide Multivariable Calculus'. For more lecture videos and $10 digital textbooks, visit www.centerofmath.org.

From playlist Worldwide Multivariable Calculus

Video thumbnail

Video5-10: Step functions, discontinuous functions, examples. Elementary Differential Equations

Elementary Differential Equations Video5-10: Step functions, discontinuous functions, definition and examples. Course playlist: https://www.youtube.com/playlist?list=PLbxFfU5GKZz0GbSSFMjZQyZtCq-0ol_jD

From playlist Elementary Differential Equations

Video thumbnail

Introduction to Heaviside step function

Free ebook https://bookboon.com/en/partial-differential-equations-ebook A basic introduction to the Heaviside step function. I show how to describe certain functions in terms of the step function. The motivation for the study is framed within the context of Laplace transforms.

From playlist Partial differential equations

Video thumbnail

What is a function?

This video explains what a mathematical function is and how it defines a relationship between two sets, the domain and the range. It also introduces three important categories of function: injective, surjective and bijective.

From playlist Foundational Math

Related pages

Stream cipher | PostScript | Block cipher | Boolean function | Cryptographic hash function | Mir-1 | Cryptography | Transposition (mathematics) | Multiplication | Addition | Cipher | Subtraction | VEST | TSC-3 | Bijection | ABC (stream cipher) | Pseudorandom number generator | Iteration | S-box | State (computer science)