Theorem 1. Let $X$ be a normed space over field $\mathbb{R}$ then the following conditions are equivalent
1) $X^*$ is a strictly convex space.
2) each functional defined on subspace of $X$ have unique norm preserving extension.
Proof. See this article.
Theorem 2. Let $X$ be a Banach space, then the following conditions are equivalent
1) $X$ is reflexive
2) each functional $f\in X^*$ attains its norm
Proof. See this article.
Theorem 3. Let $X$ be a normed space, then there exist a map $\mathcal{D}:X\to X^*$ such that
$$
\Vert\mathcal{D}(x)\Vert=\Vert x\Vert\qquad\langle \mathcal{D}(x),x\rangle=\Vert\mathcal{D}(x)\Vert\Vert x\Vert\qquad\tag{1}
$$
Proof. For arbitrary $x\in X$, by Hahn-Banach theorem there exist $f\in X^*$ such that $f(x)=\Vert x\Vert$ and $\Vert f\Vert=1$. Now we define
$$
\mathcal{D}:X\to X^*:x\mapsto \Vert x\Vert f
$$
Then we can easily check that $\mathcal{D}$ satisfies $(1)$. Let's prove $\mathcal{D}$ is injective. Assume $\mathcal{D}$ is not injective, then there exist $x\in X\setminus\{0\}$, such that $\mathcal{D}(x)=0$, then for all $x'\in X$ holds $\mathcal{D}(x)(x')=\Vert x\Vert f(x')=0$. Since $x\neq 0$, then for all $x'\in X$ holds $f(x')=0$, and in particular $f(x)=0$. By construction $\Vert x\Vert=f(x)$, so $\Vert x\Vert=0$ and $x=0$. Contradiction, so $\mathcal{D}$ is injective.
Theorem 4. Let $X$ be a normed space with strictly convex dual, then the map $\mathcal{D}$ with properties $(1)$ is uniquely defined and and as the consequence the following additional property holds
$$
\mathcal{D}(\lambda x)=|\lambda| \mathcal{D}(x)\tag{2}
$$
Proof. Since $X^*$ is strictly convex, then from theorem 1 it follows that map $\mathcal{D}$ satisfying $(1)$ is uniquely defined. Moreover $\mathcal{D}$ have property $(2)$. Indeed, note that if we have $f\in X^*$ such that $f(x)=\Vert f\Vert\Vert x\Vert$ and $\Vert f\Vert=\Vert x\Vert$, then $(|\lambda| f)(x)=\Vert f\Vert\Vert \lambda x\Vert$ and $\Vert |\lambda| f\Vert=\Vert \lambda x\Vert$. From unique definitness of $\mathcal{D}$ we conclude that $(2)$ holds.
Theorem 5. Let $X$ be a reflexive, strictly convex space with strictly convex dual. Then the map $\mathcal{D}$ satisfying $(1)$ is unique, and moreover it is bijective and it satisfies $(2)$.
Proof. Take $f\in X^*$. If $f=0$, then $\mathcal{D}(0)=f$, otherwise consider $\hat{f}=\Vert f\Vert^{-1}f$. Since $X$ is reflexive, there exist $\hat{x}\in X$ such that $\hat{f}(\hat{x})=\Vert \hat{f}\Vert=1$ and $\Vert\hat{x}\Vert=1$. In other words $\Vert \hat{f}\Vert=\Vert \hat{x}\Vert$, $\hat{f}(\hat{x})=\Vert\hat{f}\Vert\Vert\hat{x}\Vert$. Since $X^*$ is strictly convex from theorem 1 we see that such a functional is unique and $\mathcal{D}(\hat{x})=\hat{f}$. Hence for $x=\Vert f\Vert \hat{x}$ we have $\mathcal{D}(x)=\mathcal{D}(\Vert f\Vert \hat{x})=\Vert f\Vert \mathcal{D}(\hat{x})=\Vert f\Vert\hat{f}=f$. This $\mathcal{D}$ is surjective.
Assume that $\mathcal{D}$ is not injective, then there exist $x_1,x_2\in X$ such that $x_1\neq x_2$ and $\mathcal{D}(x_1)=\mathcal{D}(x_2)$. Denote $f=\mathcal{D}(x_1)=\mathcal{D}(x_2)$. Since $\mathcal{D}$ satisfies $(1)$ we have $\Vert f\Vert=\Vert x_1\Vert$, $f(x_1)=\Vert f\Vert\Vert x_1\Vert$ and $\Vert f\Vert=\Vert x_2\Vert$, $f(x_2)=\Vert f\Vert\Vert x_2\Vert$. Fix $t\in(0,1)$ and consider vector $x=t x_1+(1-t)x_2$, then $f(x)=\Vert f\Vert(t\Vert x_1\Vert+(1-t)\Vert x_2\Vert)$. Which implies $f\Vert(t\Vert x_1\Vert+(1-t)\Vert x_2\Vert)=|f(x)|\leq\Vert f\Vert\Vert x\Vert$ and as the consequence $t\Vert x_1\Vert+(1-t)\Vert x_2\Vert\leq\Vert x\Vert$. On the other hand from triangle inequality
$\Vert x\Vert\leq t\Vert x_1\Vert +(1-t)\Vert x_2\Vert$. This means that $\Vert tx_1+(1-t)x_2\Vert=t\Vert x_1\Vert+(1-t)\Vert x_2\Vert$ for all $t\in(0,1)$. Consider vectors $\hat{x}_!=\Vert x_1\Vert^{-1}x_1$, $\hat{x}_2=\Vert x_2\Vert^{-1}x_2$. Since $\Vert x_1\Vert=\Vert x_2\Vert=\Vert f\Vert$ we have $\Vert\hat{x}_1\Vert=\Vert\hat{x}_2\Vert=1$ and $\Vert t\hat{x}_1+(1-t)\hat{x}_2\Vert=\Vert t\Vert\hat{x}_1\Vert+(1-t)\Vert\hat{x}_2\Vert$ and $x_1\neq x_2$. This means that unit sphere of $X$ contains segment, and as the consequence $X$ is not strictly convex. Contradiction, so $\mathcal{D}$ is injective.
Since $\mathcal{D}$ is surjective and injective it is bijective. The rest follows from theorem 4.
Theorem 6. Let $X$ be a normed space with uniquely defined bijective map $\mathcal{D}:X\to X^*$ satisfying $(1)$, then $\mathcal{D}$ satisfy $(2)$, and what is more $X$ is reflexive, strictly convex with strictly convex dual.
Proof. Since $\mathcal{D}$ satisfy $(2)$ and uniquely defined then from theorem $4$ we have that $\mathcal{D}$ satisfy $(2)$. Now take arbitrary $f\in X^*$. If $f=0$, then it is obviously attains its norm, otherwise consider $\hat{f}=\Vert f\Vert^{-1} f$. Obviously, $\Vert\hat{f}\Vert=1$ Since $\mathcal{D}$ is bijective, we get some $\hat{x}\in X$ such that $\mathcal{D}(\hat{x})=\hat{f}$. Hence $\Vert\hat{x}\Vert=\Vert\hat{f}\Vert=1$ and $\hat{f}(\hat{x})=\Vert \hat{f}\Vert\Vert\hat{x}\Vert=\Vert \hat{f}\Vert$. Then, $f(\hat{x})=\Vert f\Vert$ while $\Vert\hat{x}\Vert=1$. This means that norm of $f$ is attained. Since for all $f\in X^*$ its norm is attained, then by theorem 2 the space $X$ is reflexive.
Assume that $X^*$ is not strictly convex, then unit sphere of $X^*$ contains some segmet, hence there exist $f_1,f_2\in X^*$ such that $f_1\neq f_2$ and $\Vert f_1\Vert=\Vert f_2\Vert=\Vert(f_1+f_2)/2\Vert=1$. Since $\mathcal{D}$ is bijective then there exist $x\in X$ such that $\mathcal{D}(x)=(f_2+f_2)/2$, and what is more $\Vert x\Vert=\Vert\mathcal{D}\Vert=\Vert(f_1+f_2)/2\Vert=1$. Since $\Vert(f_1(x)+f_2(x))/2\Vert=\mathcal{D}(x)(x)=\Vert\mathcal{D}(x)\Vert x\Vert=1$ and $\Vert f_1\Vert=\Vert f_2\Vert=1$, then $f_1(x)=f_2(x)=1$. Thus $f_1(x)=\Vert f_1\Vert\Vert x\Vert$, $\Vert f_1\Vert=\Vert x\Vert$ and $f_2(x)=\Vert f_2\Vert\Vert x\Vert$, $\Vert f_2\Vert=\Vert x\Vert$. This means that $\mathcal{D(x)}=f_1$ and $\mathcal{D}(x)=f_2$. This contradicts assumption $f_1\neq f_2$. Hence $X^*$ is strictly convex.
Assume that $X$ is not strictly convex, then unit sphere of $X$ contains some segment, i.e. there exist $x_1,x_2\in X$ such that $x_1\neq x_2$, $\Vert x_1\Vert=\Vert x_1\Vert=\Vert (x_1+x_2)/2\Vert=1$. By Hahn-Banach theorem there exist $f\in X^*$ such that with $f((x_1+x_2)/2)=\Vert(x_1+x_2)/2\Vert=1$. The last equality with $\Vert x_1\Vert=\Vert x_2\Vert=1$ implies $f(x_1)=f(x_2)=1$. Thus $f(x_1)=\Vert f\Vert\Vert x_1\Vert$, $\Vert f\Vert=\Vert x_1\Vert$ and $f(x_2)=\Vert f\Vert\Vert x_2\Vert$, $\Vert f\Vert=\Vert x_2\Vert$ and from uniqueness of $\mathcal{D}$ we conclude $\mathcal{D}(x_1)=f$ and $\mathcal{D}(x_2)=f$. Since $\mathcal{D}$ is bijective $x_1=x_2$, which contradicts assumption $x_1\neq x_2$. Hence $X$ is strictly convex.
Theorem 7. Let $X$ be a normed space, then the following conditions are equivalent
1) $X$ is reflexive, strictly convex with strictly convex dual
2) there exist unique bijective map $\mathcal{D}:X\to X^*$ satisfying $(1)$
Proof. Follows from theorem 5 and 6.