Virat Kohli struck a superb century as India and South Africa shared honours on the opening day of the first Test in Johannesburg at the Wanderers Stadium on Wednesday.