Tout d'abord, essayons de trouver des choses qui caractérisent une fonction qui vérifie cette propriété :
Soit $ f $ une fonction qui vérifie les conditions,
EDIT : Inutile
Montrons que $ f $ est injective,
En notant $ |A| $ la longueur d'un intervalle $ A $ on a :
Soit $ a,b,c $ des réels avec $ a<b<c $, on a $ |f([a;b])| = b-a $, $ |f([b;c])| = c-b $, $ |f([a;c])| = c-a $
Or, $ |f([a;c])| = |f([a;b])| + |f([b;c])| - |f([a;b])\cap f([b;c])| $ d'où $ f([a;b])\cap f([b;c]) = \{f(b)\} $
Ainsi, s'il existe $ (a;c)\in\mathbb{R}^2 $ tels que $ a<c $ et $ f(a) = f(c) $, Soit $ f $ est constante sur $ [a;c] $ et on arrive à une contradiction, soit il existe b tel que $ a<b<c $ et $ f(a)\neq f(b) $ et on arrive aussi à une contradiction car $ f([a;b])\cap f([b;c]) = \{f(b)\} $ et $ f(b)\neq f(a) $.
Ainsi, $ f $ est injective.
Montrons que $ f $ est strictement monotone.
Supposons par l'absurde que $ f $ n'est pas strictement monotone, cela veut donc dire que soit il existe $ a,b $ tels que $ f(a)=f(b) $ et $ a\neq b $ ce qui est absurde. Soit qu'il existe $ (a,b,c)\in\mathbb{R}^3 $ avec $ a<b<c $ tels que $ f(a)<f(b) $ et $ f(b) >f(c) $.
On suppose sans perdre de généralité que $ f(a)>f(c) $, ainsi, $ f(c)<f(a)<f(b) $ donc $ f(a)\in [f(c); f(b)]\in f([c;b]) $. Ainsi, il existe $ d\in[c;b] $ tel que $ f(d)=f(a) $ ce qui est absurde car $ f $ est injective.
AInsi, $ f $ est strictement monotone.
On suppose $ f $ strictement croissante, quitte à prendre $ g=-f $.
Ainsi, pour tout $ a>0 $, $ f([0;a]) = [f(0); f(0) + a] $. Donc $ f(a) = f(0) + a $ car $ f $ est strictement croissante.
De même, pour tout $ b<0 $, $ f([b; 0]) = [b+f(0); f(0)] $ d'où $ f(b) = f(0) + b $.
Ainsi, pour tout $ x $ réel, $ f(x) = f(0) + x $ ou $ f(x) = -f(0) - x $ (car on avait supposé que $ f $ était strictement croissante quitte à prendre $ g = -f $).
Vérifions que toutes les fonctions de la forme $ f(x) = +/-x+C $ avec $ C\in\mathbb{R} $ vérifient les conditions :
Si $ f(x) = x + C $ alors pour tout a, b avec a<b, $ f([a; b]) = [a+C; b+C] $ qui est un intervalle de longueur $ b-a $.
Si $ f(x) = -x + C $ alors pour tout $ a,b $ avec $ a<b $, $ f([a;b] = [-b+C; -a+C] = -a+b = b-a $.
Ainsi, les solutions sont les fonctions $ f $ de la forme $ f(x) = +/- x+ C $ pour tout réel x et $ C $ un réel quelconque.