Are there low-bit hashing or encryption functions for teaching cryptographical concepts? I understand how hashing and encryption/decryption work at a very high level, where the functions work as a black box. Hashing scrambles the input in a non-uniquely reversible way, whereas encryption uses a key to scramble the input in a reversible way where it's highly unlikely that any other key could produce the same output. Salts can be added to prevent rainbow attacks by randomising the output more.

Over time, collisions are detected in hashing functions, and encryption/decryption functions are cracked, leading to stronger functions being developed usually with more bits.

However, I would be interested in studying low-bit concrete hashing/encryption functions in order to understand how it can be mathematically proven to be uncrackable except by brute force (if that is indeed possible).

Are there any such low-bit functions that can be followed through step by step and analysed mathematically without the maths getting too complex? Ones that would be considered cryptographically secure except for their length?
Actually, lecturers/professors build simplified version of block ciphers and hash functions so that the students can understand better.
For Block ciphers there are;

Simplified DES by  Edward Schaefer in 96. You can also set it in Stinson's book Appendix G.
Simplified AES is first appeared on Cryptologia, 2003 by Musa, Schaefer, and Wedig.
Another Simplified AES Version again by Edward Schaefer
A Tutorial on Linear and Differential Cryptanalysis in 2002 by Hayes contains a simple SPN based block cipher to teach the Linear and Differential Cryptanalysis.

For hash functions;

Luhn Algorithm is a starting point.

A toy hash function  by Joshua Holden

In this paper I will discuss the requirements for a secure hash function and relate my attempts to come up with a “toy” system which both reasonably secure and also suitable for students to work with by hand in a classroom setting


Once  the Simplified version of AES is grasped, you can use them to build a hash function based on the Merkle–Damgård construction.

Also, this question Is there a simple hash function that one can compute without a computer? contains some others hash functions.